[ros-kernel] far fetched question
c.mench at free.fr
Thu Nov 13 20:45:28 CET 2003
I just looked at the road map for ReactOS
I noticed that Direct X is planned for October 2004
No mention of OpenGL is present
Reading this mailing list I saw that j.tabor plans
some OpenGL work
Do you think the time frame is the same as for directX ?
or maybe before?
My thinking is that openGl driver part of the graphics
driver is not so far from were you are now. I may be
wrong of course.
The question is because I work on a User32.dll + GDI32.dll
replacement for using OpenGL for rendering the desktop.
As my program is not more than a toy on windows, it would
be interesting on reactos as primary window server. But
Hardware OpenGL must exist
Sorry if you consider this mail as spam, but i really want to
know is Hardware OpenGL is on the TodoList or never
will be supported
And in any case,
congratulation for the fantastic work you all already
Some basic explanation of planned architecture...
Server side :
All objects that the client and the server have access to are
exposed trough shared memory. For instance a bitmap is
modifiable by the client and used by the server at the same time.
Shared memory API : cross platform (W32/linux) shared memory layer.
d.. Retrieve info for clients (size, pointer).
a.. register object names along with attributes.
List handling API
Video Device driver API:
a.. Creation of the rendering surface
b.. Retrieval if OpenGl capable or not
c.. Video card memory handling
d.. Global video settings (tiled/compressed textures or not, etc.)
Painter API :
a.. Software or
b.. OpenGl render to texture:
c.. Render to texture viewport parameter helper functions (for partial
rerender on already existant textures)
d.. Bitmapped text (freetype)
e.. Simple drawing
f.. Bitmaps (blitting, etc)
i.. Filled rectangle
j.. 2D Bezier lines, patches or grids
k.. Gradient fill
l.. Filled and stroked forms
m.. Clipping mechanism
n.. Invalidate rectangle mechanism (for partial redraws in software but
also in render to texture operations).
a.. Desktop compositor
b.. Window animator
c.. Windows zooming (global desktop animations)
d.. Maximise/minimise(iconise)/focus animations
e.. Mouse cursor handling for rendering and windows notifications
a.. Class registering
b.. Control/window creation
c.. Window/control modification
d.. Message passing
e.. GDI functions (simple draw API)
f.. Using painter API
a.. Unidirectional named pipes for client to server messages.
b.. Shared memory created when needed and released when reference to
object has disappeared.
Client side :
The access to the server is made by at least two DLL linked to the client
application. These libraries are GDI32.DLL and USER32.DLL
a.. Exports compatible with MS
b.. Initiate the dialog with the server
c.. Allow registering of classes in server
d.. Allow windows creation and handling
e.. Message dispatching to client from server.
f.. Specific export for server handling
g.. Resolution changing
h.. Server information retrieval
i.. Launching global window animations
a.. allow simple draw operations
More information about the Ros-kernel