DirectX 11 render system - work-in-progress
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
Well - d3d11 should be supported also on older hardware - but not completely, MS added a profile system to define the support.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 3
- Joined: Mon Apr 27, 2009 7:46 pm
Re: DirectX 10 render system - work-in-progress
I think it works with the Radeon 4870 with up to date drivers etc. I wasn't getting the reference device message last night.
-
- Gnoblar
- Posts: 8
- Joined: Sat Feb 23, 2008 12:18 pm
- Location: beijing,china
Re: DirectX 10 render system - work-in-progress
Hi all
I plan to use this RS in our project,but there looks like a bug in it
which is in D3D10HLSLProgram::populateDef function.
The Elements member of D3D10_SHADER_TYPE_DESC will be 0 if the constant isn't a array.
It will lead to crash after call FixedFuncPrograms::_setProgramParameter in Ogre1.62.
I plan to use this RS in our project,but there looks like a bug in it
Code: Select all
void D3D10HLSLProgram::populateDef(D3D10_SHADER_TYPE_DESC& d3dDesc, GpuConstantDefinition& def) const
{
483 def.arraySize = d3dDesc.Elements;
The Elements member of D3D10_SHADER_TYPE_DESC will be 0 if the constant isn't a array.
It will lead to crash after call FixedFuncPrograms::_setProgramParameter in Ogre1.62.
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
How can I recreate the problem on my computer?
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 8
- Joined: Sat Feb 23, 2008 12:18 pm
- Location: beijing,china
Re: DirectX 10 render system - work-in-progress
Thanks for your reply,to recreating the problem you should download the Ogre1.62 and modify the Plugin.cfg for include Plugin_RenderSystemD3D10.dll,then run the Debug DemoGui project from VC,it will crashAssaf Raman wrote:How can I recreate the problem on my computer?
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
I will have a look.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 5
- Joined: Thu May 21, 2009 12:13 pm
Re: DirectX 10 render system - work-in-progress
Hi for all.
I would like to suggest one feature: can you try to use D3D10 WARP driver? This will help all that (like me) wanna play with Directx 10, but still don't have a capable hardware.
Thanks
I would like to suggest one feature: can you try to use D3D10 WARP driver? This will help all that (like me) wanna play with Directx 10, but still don't have a capable hardware.
Thanks
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
What do you mean by "use D3D10 WARP driver"?
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 5
- Joined: Thu May 21, 2009 12:13 pm
Re: DirectX 10 render system - work-in-progress
Hi Assaf
It's the software driver, that exists in March 2009 release. It's still in beta, but can be used. The procedure to use it is in DXUT.cpp file, inside "Samples" directory. There are some samples that you can activate this software driver, and the performance is very acceptable (while REF runs at 0.5 fps, the WARP run some samples at 80 fps in my Intel integrated graphics card)
It's the software driver, that exists in March 2009 release. It's still in beta, but can be used. The procedure to use it is in DXUT.cpp file, inside "Samples" directory. There are some samples that you can activate this software driver, and the performance is very acceptable (while REF runs at 0.5 fps, the WARP run some samples at 80 fps in my Intel integrated graphics card)
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
I will have a look.
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 8
- Joined: Sat Feb 23, 2008 12:18 pm
- Location: beijing,china
Re: DirectX 10 render system - work-in-progress
Hi all
I think StateObject managing of this RS isn't on the right way now
First ,wouldn't there need a state object caching which like hashmap?it will make better performance than create every stateobject on the fly although DX10 can filter out the duplicate.
Second ,is it better that set state object in the SceneManager::_setPass?There has some problem with setting StateObject in D3D10RenderSystem::_render,that is when material of a entity changed ,the D3D10RenderSystemOperationState isn't update!
I think StateObject managing of this RS isn't on the right way now
First ,wouldn't there need a state object caching which like hashmap?it will make better performance than create every stateobject on the fly although DX10 can filter out the duplicate.
Second ,is it better that set state object in the SceneManager::_setPass?There has some problem with setting StateObject in D3D10RenderSystem::_render,that is when material of a entity changed ,the D3D10RenderSystemOperationState isn't update!
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
Well, so basically you are saying you like the code as is?
Watch out for my OGRE related tweets here.
-
- Gnoblar
- Posts: 8
- Joined: Tue May 26, 2009 2:49 am
Re: DirectX10.1
Hardware? now available? WTFLee04 wrote:DirectX10 is a bit "old" by know to architect an Ogre Rendersystem around.
DirectX 10.1 specs are available already. Maybe it should be taken into account as well now, even if the hardware won't be available in a while.
I started as well on a DX10 rendersystem got nowhere because I wanted to support input assembly etc. and all the good DirectX10 features.
I realized that Ogres render system needs some new refactoring to fit these in and then maybe even openGL3.0 should be in that refactoring design as well as DX10.1.
Has anyone recompiled Ogre for Vista version of DirectX9 by the way?
I don't have Vista myself yet.
Which hasn't stopped some projects using it.
We used reference raster etc.
Ok man, I just bought a pc with 8 g ram and a quad core proc with a blue ray combo drive and a 750 g hard drive and a 250 g hard drive and a Nvidia 9500 GT with 700$.
That comes with 64 bit windows.
wtf man, come on, hardware is available today! go get that shit.
-
- Hobgoblin
- Posts: 554
- Joined: Tue Nov 14, 2006 3:26 pm
- x 7
Re: DirectX 10 render system - work-in-progress
Hi Assaf,
I am trying to work with Geometry shaders. I was looking at Demo_IsoSurf, but I get an assert. Here's the call stack (Basically, mFloatConstants contains nothing):
Incidentally, the OpenGL version of this demo works just fine.
I tried some other demos (e.g. the Ocean demo), and I get an assert at the same place. Am I doing something wrong?
I am using Trunk (latest update) and Visual Studio 2008.
Thanks
I am trying to work with Geometry shaders. I was looking at Demo_IsoSurf, but I get an assert. Here's the call stack (Basically, mFloatConstants contains nothing):
Code: Select all
msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x60f4a5cc, const wchar_t * file=0x60f463a8, unsigned int line=779) Line 24 C++
OgreMain_d.dll!std::vector<float,Ogre::STLAllocator<float,Ogre::CategorisedAllocPolicy<0> > >::operator[](unsigned int _Pos=0) Line 779 + 0x17 bytes C++
> OgreMain_d.dll!Ogre::GpuProgramParameters::getFloatPointer(unsigned int pos=0) Line 1398 + 0x1a bytes C++
RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_updateParameter(Ogre::SharedPtr<Ogre::GpuProgramParameters> & programParameters={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const void * value=0x00f57930, const unsigned int sizeInBytes=64) Line 270 + 0x21 bytes C++
RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_setProgramParameter(const Ogre::GpuProgramType type=GPT_VERTEX_PROGRAM, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const void * value=0x00f57930, const unsigned int sizeInBytes=64) Line 201 C++
RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_setProgramMatrix4Parameter(const Ogre::GpuProgramType type=GPT_VERTEX_PROGRAM, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const Ogre::Matrix4 & value={...}) Line 224 C++
RenderSystem_Direct3D10_d.dll!Ogre::HlslFixedFuncEmuShaderGenerator::HlslFixedFuncPrograms::setFixedFuncProgramsParameters(const Ogre::FixedFuncPrograms::FixedFuncProgramsParameters & params={...}) Line 817 C++
RenderSystem_Direct3D10_d.dll!Ogre::D3D10RenderSystem::_render(const Ogre::RenderOperation & op={...}) Line 2521 + 0x1f bytes C++
OgreMain_d.dll!Ogre::SceneManager::renderSingleObject(Ogre::Renderable * rend=0x0100da50, const Ogre::Pass * pass=0x0465cae0, bool lightScissoringClipping=true, bool doLightIteration=true, const Ogre::HashedVector<Ogre::Light *> * manualLightList=0x00000000) Line 3350 + 0x1d bytes C++
OgreMain_d.dll!Ogre::SceneManager::BRAND NAME::visit(Ogre::Renderable * r=0x0100da50) Line 2800 + 0x37 bytes C++
OgreMain_d.dll!Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::BRAND NAME * visitor=0x00f9839c) Line 441 + 0x1a bytes C++
OgreMain_d.dll!Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::BRAND NAME * visitor=0x00f9839c, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 410 C++
OgreMain_d.dll!Ogre::SceneManager::renderObjects(const Ogre::QueuedRenderableCollection & objs={...}, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP, bool lightScissoringClipping=true, bool doLightIteration=true, const Ogre::HashedVector<Ogre::Light *> * manualLightList=0x00000000) Line 2891 C++
OgreMain_d.dll!Ogre::SceneManager::renderBasicQueueGroupObjects(Ogre::RenderQueueGroup * pGroup=0x04639a18, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 2968 + 0x25 bytes C++
OgreMain_d.dll!Ogre::SceneManager::_renderQueueGroupObjects(Ogre::RenderQueueGroup * pGroup=0x04639a18, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 2947 + 0x1a bytes C++
OgreMain_d.dll!Ogre::SceneManager::renderVisibleObjectsDefaultSequence() Line 2238 + 0x18 bytes C++
OgreMain_d.dll!Ogre::SceneManager::_renderVisibleObjects() Line 2154 + 0xf bytes C++
OgreMain_d.dll!Ogre::SceneManager::_renderScene(Ogre::Camera * camera=0x00f85910, Ogre::Viewport * vp=0x00f9db70, bool includeOverlays=true) Line 1463 + 0x12 bytes C++
OgreMain_d.dll!Ogre::Camera::_renderScene(Ogre::Viewport * vp=0x00f9db70, bool includeOverlays=true) Line 408 + 0x2b bytes C++
OgreMain_d.dll!Ogre::Viewport::update() Line 196 C++
OgreMain_d.dll!Ogre::RenderTarget::updateImpl() Line 114 C++
OgreMain_d.dll!Ogre::RenderTarget::update(bool swap=false) Line 501 + 0x12 bytes C++
RenderSystem_Direct3D10_d.dll!Ogre::D3D10RenderWindow::update(bool swap=false) Line 1057 + 0x10 bytes C++
OgreMain_d.dll!Ogre::RenderSystem::_updateAllRenderTargets(bool swapBuffers=false) Line 113 + 0x22 bytes C++
OgreMain_d.dll!Ogre::Root::_updateAllRenderTargets() Line 1184 + 0x1c bytes C++
OgreMain_d.dll!Ogre::Root::renderOneFrame() Line 846 + 0x8 bytes C++
OgreMain_d.dll!Ogre::Root::startRendering() Line 836 + 0x8 bytes C++
Demo_OceanDemo.exe!OceanDemo::go() Line 200 + 0xd bytes C++
Demo_OceanDemo.exe!WinMain(HINSTANCE__ * hInst=0x00340000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x000d3163, HINSTANCE__ * __formal=0x00000000) Line 152 + 0xb bytes C++
Demo_OceanDemo.exe!__tmainCRTStartup() Line 574 + 0x35 bytes C
Demo_OceanDemo.exe!WinMainCRTStartup() Line 399 C
kernel32.dll!759b36d6()
[Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll]
ntdll.dll!76f6883c()
ntdll.dll!76f6880f()
I tried some other demos (e.g. the Ocean demo), and I get an assert at the same place. Am I doing something wrong?
I am using Trunk (latest update) and Visual Studio 2008.
Thanks
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
I will have a look later this week and answer you.
Watch out for my OGRE related tweets here.
-
- Hobgoblin
- Posts: 554
- Joined: Tue Nov 14, 2006 3:26 pm
- x 7
Re: DirectX 10 render system - work-in-progress
Sure Assaf. Thanks!
-
- Gnoblar
- Posts: 8
- Joined: Sat Feb 23, 2008 12:18 pm
- Location: beijing,china
Re: DirectX 10 render system - work-in-progress
You could modify this code:psquare wrote:Hi Assaf,
I am trying to work with Geometry shaders. I was looking at Demo_IsoSurf, but I get an assert. Here's the call stack (Basically, mFloatConstants contains nothing):Incidentally, the OpenGL version of this demo works just fine.Code: Select all
msvcp90d.dll!std::_Debug_message(const wchar_t * message=0x60f4a5cc, const wchar_t * file=0x60f463a8, unsigned int line=779) Line 24 C++ OgreMain_d.dll!std::vector<float,Ogre::STLAllocator<float,Ogre::CategorisedAllocPolicy<0> > >::operator[](unsigned int _Pos=0) Line 779 + 0x17 bytes C++ > OgreMain_d.dll!Ogre::GpuProgramParameters::getFloatPointer(unsigned int pos=0) Line 1398 + 0x1a bytes C++ RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_updateParameter(Ogre::SharedPtr<Ogre::GpuProgramParameters> & programParameters={...}, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const void * value=0x00f57930, const unsigned int sizeInBytes=64) Line 270 + 0x21 bytes C++ RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_setProgramParameter(const Ogre::GpuProgramType type=GPT_VERTEX_PROGRAM, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const void * value=0x00f57930, const unsigned int sizeInBytes=64) Line 201 C++ RenderSystem_Direct3D10_d.dll!Ogre::FixedFuncPrograms::_setProgramMatrix4Parameter(const Ogre::GpuProgramType type=GPT_VERTEX_PROGRAM, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > paramName="World", const Ogre::Matrix4 & value={...}) Line 224 C++ RenderSystem_Direct3D10_d.dll!Ogre::HlslFixedFuncEmuShaderGenerator::HlslFixedFuncPrograms::setFixedFuncProgramsParameters(const Ogre::FixedFuncPrograms::FixedFuncProgramsParameters & params={...}) Line 817 C++ RenderSystem_Direct3D10_d.dll!Ogre::D3D10RenderSystem::_render(const Ogre::RenderOperation & op={...}) Line 2521 + 0x1f bytes C++ OgreMain_d.dll!Ogre::SceneManager::renderSingleObject(Ogre::Renderable * rend=0x0100da50, const Ogre::Pass * pass=0x0465cae0, bool lightScissoringClipping=true, bool doLightIteration=true, const Ogre::HashedVector<Ogre::Light *> * manualLightList=0x00000000) Line 3350 + 0x1d bytes C++ OgreMain_d.dll!Ogre::SceneManager::BRAND NAME::visit(Ogre::Renderable * r=0x0100da50) Line 2800 + 0x37 bytes C++ OgreMain_d.dll!Ogre::QueuedRenderableCollection::acceptVisitorGrouped(Ogre::BRAND NAME * visitor=0x00f9839c) Line 441 + 0x1a bytes C++ OgreMain_d.dll!Ogre::QueuedRenderableCollection::acceptVisitor(Ogre::BRAND NAME * visitor=0x00f9839c, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 410 C++ OgreMain_d.dll!Ogre::SceneManager::renderObjects(const Ogre::QueuedRenderableCollection & objs={...}, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP, bool lightScissoringClipping=true, bool doLightIteration=true, const Ogre::HashedVector<Ogre::Light *> * manualLightList=0x00000000) Line 2891 C++ OgreMain_d.dll!Ogre::SceneManager::renderBasicQueueGroupObjects(Ogre::RenderQueueGroup * pGroup=0x04639a18, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 2968 + 0x25 bytes C++ OgreMain_d.dll!Ogre::SceneManager::_renderQueueGroupObjects(Ogre::RenderQueueGroup * pGroup=0x04639a18, Ogre::QueuedRenderableCollection::OrganisationMode om=OM_PASS_GROUP) Line 2947 + 0x1a bytes C++ OgreMain_d.dll!Ogre::SceneManager::renderVisibleObjectsDefaultSequence() Line 2238 + 0x18 bytes C++ OgreMain_d.dll!Ogre::SceneManager::_renderVisibleObjects() Line 2154 + 0xf bytes C++ OgreMain_d.dll!Ogre::SceneManager::_renderScene(Ogre::Camera * camera=0x00f85910, Ogre::Viewport * vp=0x00f9db70, bool includeOverlays=true) Line 1463 + 0x12 bytes C++ OgreMain_d.dll!Ogre::Camera::_renderScene(Ogre::Viewport * vp=0x00f9db70, bool includeOverlays=true) Line 408 + 0x2b bytes C++ OgreMain_d.dll!Ogre::Viewport::update() Line 196 C++ OgreMain_d.dll!Ogre::RenderTarget::updateImpl() Line 114 C++ OgreMain_d.dll!Ogre::RenderTarget::update(bool swap=false) Line 501 + 0x12 bytes C++ RenderSystem_Direct3D10_d.dll!Ogre::D3D10RenderWindow::update(bool swap=false) Line 1057 + 0x10 bytes C++ OgreMain_d.dll!Ogre::RenderSystem::_updateAllRenderTargets(bool swapBuffers=false) Line 113 + 0x22 bytes C++ OgreMain_d.dll!Ogre::Root::_updateAllRenderTargets() Line 1184 + 0x1c bytes C++ OgreMain_d.dll!Ogre::Root::renderOneFrame() Line 846 + 0x8 bytes C++ OgreMain_d.dll!Ogre::Root::startRendering() Line 836 + 0x8 bytes C++ Demo_OceanDemo.exe!OceanDemo::go() Line 200 + 0xd bytes C++ Demo_OceanDemo.exe!WinMain(HINSTANCE__ * hInst=0x00340000, HINSTANCE__ * __formal=0x00000000, char * strCmdLine=0x000d3163, HINSTANCE__ * __formal=0x00000000) Line 152 + 0xb bytes C++ Demo_OceanDemo.exe!__tmainCRTStartup() Line 574 + 0x35 bytes C Demo_OceanDemo.exe!WinMainCRTStartup() Line 399 C kernel32.dll!759b36d6() [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] ntdll.dll!76f6883c() ntdll.dll!76f6880f()
I tried some other demos (e.g. the Ocean demo), and I get an assert at the same place. Am I doing something wrong?
I am using Trunk (latest update) and Visual Studio 2008.
Thanks
Code: Select all
void D3D10HLSLProgram::populateDef(D3D10_SHADER_TYPE_DESC& d3dDesc, GpuConstantDefinition& def) const
{
483 def.arraySize = d3dDesc.Elements;
Code: Select all
void D3D10HLSLProgram::populateDef(D3D10_SHADER_TYPE_DESC& d3dDesc, GpuConstantDefinition& def) const
{
483 def.arraySize = d3dDesc.Elements + 1;
-
- Gnoblar
- Posts: 5
- Joined: Thu May 21, 2009 12:13 pm
Re: DirectX 10 render system - work-in-progress
Hey Assaf, forget about WARP driver. As I see in Microsoft WARP In-Depth Guide, you can only change the name of D3D10WARP_beta.dll to D3D10Ref.dll , and automatically the WARP Software driver will be used if D3D10 Device will be created as REFERENCE.
For more informations: http://msdn.microsoft.com/pt-br/library ... n-us).aspx
Thanks
For more informations: http://msdn.microsoft.com/pt-br/library ... n-us).aspx
Thanks
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
I will add an option in the d3d10 render system settings to run in WARP mode.
Watch out for my OGRE related tweets here.
-
- Hobgoblin
- Posts: 554
- Joined: Tue Nov 14, 2006 3:26 pm
- x 7
Re: DirectX 10 render system - work-in-progress
@Assaf
I think, Line 2750 OgreD3D10RenderSystem.cpp should be:
Still unable to get geometry shaders to work though. Its as though the geometry shader was not enabled at all. (Output/Behavior is the same when I remove the geometry shader reference from the material file.
Any ideas/hints?
@lordofcoder
Yes, that doesn't assert any more.
I think, Line 2750 OgreD3D10RenderSystem.cpp should be:
Code: Select all
ID3D10GeometryShader* gsShaderToSet = mBoundGeometryProgram->getGeometryShader();
Any ideas/hints?
@lordofcoder
Yes, that doesn't assert any more.
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
I don't know, I haven't looked at it for a long time... I will have a look later this week.
Watch out for my OGRE related tweets here.
- Karan
- Halfling
- Posts: 62
- Joined: Wed Sep 17, 2008 1:59 pm
- Location: Berlin, Germany
Re: DirectX 10 render system - work-in-progress
Hi Assaf,
I wonder if the text on
http://www.ogre3d.org/wiki/index.php/He ... der_system
is still up-to-date.
The DX10-Renderer has been WIP for quite some time, would be nice to know more exactly what features are supported and what needs to be done to make it complete.
And have you thought about what needs to be changed/added for DirectX 11 yet (e.g. how the new shader types can be integrated)? I'd be interested in helping with the implementation (when hardware is available, or maybe earlier for things that are the same in DX 10 and 11).
I wonder if the text on
http://www.ogre3d.org/wiki/index.php/He ... der_system
is still up-to-date.
The DX10-Renderer has been WIP for quite some time, would be nice to know more exactly what features are supported and what needs to be done to make it complete.
And have you thought about what needs to be changed/added for DirectX 11 yet (e.g. how the new shader types can be integrated)? I'd be interested in helping with the implementation (when hardware is available, or maybe earlier for things that are the same in DX 10 and 11).
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
We are always happy to get any help.
Regarding the state of the d3d10 render system – well – I am busy doing other things the last few months, the next big stage that I didn’t do yet is creating a better state handling code for OGRE, this has to be low level core work. Regarding unimplemented d3d10 features, well, it is problematic to add d3d10 features to OGRE – that will not be supported by the other render systems.
The work I have done on the d3d10 was without any real need – and I didn't see any real benefit of using d3d10 to render, I am sure when I do see the need for my uses – I will continue the work on this topic.
If you want to contribute – I will be happy to review, try to help and commit if needed any patch you will submit.
Post here whenever you submit a patch and give a link to it – it will be easier for me not to miss it this way.
Regarding the state of the d3d10 render system – well – I am busy doing other things the last few months, the next big stage that I didn’t do yet is creating a better state handling code for OGRE, this has to be low level core work. Regarding unimplemented d3d10 features, well, it is problematic to add d3d10 features to OGRE – that will not be supported by the other render systems.
The work I have done on the d3d10 was without any real need – and I didn't see any real benefit of using d3d10 to render, I am sure when I do see the need for my uses – I will continue the work on this topic.
If you want to contribute – I will be happy to review, try to help and commit if needed any patch you will submit.
Post here whenever you submit a patch and give a link to it – it will be easier for me not to miss it this way.
Watch out for my OGRE related tweets here.
- Karan
- Halfling
- Posts: 62
- Joined: Wed Sep 17, 2008 1:59 pm
- Location: Berlin, Germany
Re: DirectX 10 render system - work-in-progress
Hmm, about features that won't be supported by other render systems: It looks like DirectX will always be a few years ahead of OpenGL, but wouldn't it still be worth to support these features somehow even if they are rendersystem-specific? Unfortunately I don't know very much about DirectX (I mean: coding experience) and the Ogre internals yet. I've only done some OpenGL programming before and also looked a bit into the OpenGL Render System implementation (esp. the geometry shaders).
Regarding state handling: Sounds quite complicated for a 'beginner'. Is it?
Regarding state handling: Sounds quite complicated for a 'beginner'. Is it?
- Assaf Raman
- OGRE Team Member
- Posts: 3092
- Joined: Tue Apr 11, 2006 3:58 pm
- Location: TLV, Israel
- x 76
Re: DirectX 10 render system - work-in-progress
Start with something small and move up.
Watch out for my OGRE related tweets here.