Hi,
I have started coding the Direct3d 9 dll. It isn't something usable yet, but only a few kernel calls have to be made to run the first (very simple) Direct3D program. I have already looked up those functions, but most of them need some huge structs as parameters.
At the moment I don't have the time to work on it. Maybe one of you would like to do so. But be warned this is the first time that i am working on an open source project and my coding style isn't the best.
Maarten Bosma
Hi One quesitn do you plan to map the graphice drivers directx to user mode then to d3d9.dll ? that way the directx for the graphice crad should go. thuse api that are not support by the graphice card driver should map to software emulation api
sames goes for ddraw.dll and some other dll files for directx
----- Original Message ----- From: "Maarten Bosma" Maarten.Paul@bosma.de To: ros-dev@reactos.com Sent: Monday, November 29, 2004 9:54 PM Subject: [ros-dev] DirectX
Hi,
I have started coding the Direct3d 9 dll. It isn't something usable yet,
but
only a few kernel calls have to be made to run the first (very simple) Direct3D program. I have already looked up those functions, but most of
them
need some huge structs as parameters.
At the moment I don't have the time to work on it. Maybe one of you would like to do so. But be warned this is the first time that i am working on
an
open source project and my coding style isn't the best.
Maarten Bosma
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
I am doing it the same way Microsoft does:
The dll, called by the user program, calls functions inside of the win32k interface like "NtGdiD3DDrawPrimitives2" which map the functions of the device driver.
But I have just noticed that most of them aren't implemented yet. Someone will have to do that first.
Maarten Bosma
Hi One quesitn do you plan to map the graphice drivers directx to user mode then to d3d9.dll ? that way the directx for the graphice crad should go. thuse api that are not support by the graphice card driver should map to software emulation api
sames goes for ddraw.dll and some other dll files for directx
Magnus Olsen wrote:
Hi One quesitn do you plan to map the graphice drivers directx to user mode then to d3d9.dll ? that way the directx for the graphice crad should go. thuse api that are not support by the graphice card driver should map to software emulation api
sames goes for ddraw.dll and some other dll files for directx
Just to clarify, Direct3D and DirectDraw have one major difference from OpenGL, and that is there is NO software emulation for missing hardware features. So if you want to fully emulate Windows then you will not provide software emulation as it would break many games that check the hardware caps bits.
Hi Phil I have talk about what can take from wine directx and use it in reactos. the graphice part of directx in wine are base on OpenGL.
1. The keyboard, mouse, joystick system in Directx Can be port from wine. (dinput.dll / dinput8.dll) and I have done port. follow problem exists in my port. mouse buffer does not work right as it should. How to dectect the mouse, keyboard and joystick need to rewrite in wine code. and the dectition code should go back to winehq. we need also write or own joystick code. for geting the joystick works for reactos and windows. The joystick code. I allready got some idea how to write it. but have no time.
2. The sound sytem in Directx wine directx are not base on opengl and the sound driver does not export any directx api. so we can use wine directx sound system. I got already dsound working in windows. it need source clean and resych with wine. I did write the patch code in the summer it did take me two month to write it.
3. The network system in Directx I have not check how it works in windows or wine
4. The Graphic system in Directx Wine Directx are using mesa3d as enginen here. but here we need to write all our code self I hope Maarten Bosma are sussefull create d3d9.dll for reactos he seasm to know how to write this stuff. He did decsbie how the graphice part of directx works. if we port over any thing here from wine it is only for tempary until some have time to write the code. for many apps need ddraw.dll from directx it is the main file for the graphic of directx. It take care of memory and other stuff.
5. Other things in directx maby it is some thing more that I have miss here.
Bestreagds Magnus Olsen (GreatLord)
----- Original Message ----- From: "Phil Frisbie, Jr." phil@hawksoft.com To: "ReactOS Development List" ros-dev@reactos.com Sent: Wednesday, December 01, 2004 6:50 PM Subject: Re: [ros-dev] DirectX
Magnus Olsen wrote:
Hi One quesitn do you plan to map the graphice drivers directx to user mode then to d3d9.dll ? that way the directx for the graphice crad should go. thuse api that are not support by the graphice card driver should map to software emulation api
sames goes for ddraw.dll and some other dll files for directx
Just to clarify, Direct3D and DirectDraw have one major difference from
OpenGL,
and that is there is NO software emulation for missing hardware features.
So if
you want to fully emulate Windows then you will not provide software
emulation
as it would break many games that check the hardware caps bits.
-- Phil Frisbie, Jr. Hawk Software http://www.hawksoft.com
Ros-dev mailing list Ros-dev@reactos.com http://reactos.com:8080/mailman/listinfo/ros-dev
Here is little overview, over the things that have to be done (with quotes form Magnus). DirectX is has 6 components:
1. DirectX Graphics: (d3d*.dl and ddraw.dll)
This is were most of the work has to done. Firstly the functions in "subsys\win32k\ntddraw\stubs.c" have to be implemented, because the dlls relay on them. I'll do this in the X-Mas holidays, if nobody else wants to. Then the work with the dll's can start. i have already started to code the very very beginning (com stuff and so on, see my first mail).
2. DirectX Audio:
The sound sytem in Directx
wine directx are not base on opengl and the sounddriver does not export
any
directx api. so we can use wine directx sound system. I got already dsound working in windows. it need source clean and resych with wine. I did write the patch code in the summer it did take me two month to write it.
3. DirectPlay:
I have not check how it works in windows or wine
i havn't either. But i guess the wine implementation is based on socks I would be esay to port.
4. DirectInput:
The keyboard, mouse, joystick system in Directx Can be port from wine. (dinput.dll / dinput8.dll) and I have done port. follow problem exists in my port. mouse buffe does not work right as it should. How to dectect the mouse, keyboard and joystick need to rewrite in wine code. and the dectition code should go back to winehq. we need also write or own
joystick
code. for geting the joystick works for reactos and windows. The joystick code. I allready got some idea how to write it. but have no time.
3. DirectShow & DirectSetup:
These two are rather trivial. Think we better concentrate on the others right now.