DirectX vs OpenGl Rendering problems

hotdot

28-11-2007 21:57:05

Hi, I think i found a major loads of bugs, i do not know if the directx version was tested at all, because the bugs are REALLY obvious. Here is a comparison with just changing the renderer :

OpenGl :



And the directx version :



And when we are at it, check all the zones in red which identify problems, the offset in the background versus the size of the window does appear in both gl and X. We need to make this GUI work seamlessly in both, We should find what are the differences, and why those artifacts appears, for the moment it would take me some time to dig this in the code, and i do not know if i currently have the time this week. These are all the artifact problems i talked about earlier this week with kungfoomasta.

kungfoomasta

28-11-2007 23:21:18

Thanks for bringing this up.

I do test in Direct X, I used to run in DX by default, but now I use OpenGL most the time. The main problem is that I can't reproduce a lot of these artifacts. I have seen some odd things on ATI cards in the past month, and I don't understand why there should be problems, I'm using Ogre after all. :wink:

The best and fastest way to get issues resolved is to post steps or code that demonstrate this in the demo. Basically, if I can reproduce it, I can fix it. (in most cases anyway..)

Especially when it comes to those screenshots, I need to see some code. I naturally expect close buttons to be in the titlebar, but they are either hidden via code, or chopped off completely. I need to see the layout as intended in code, compared to what is displayed.

Starting thursday or friday I will take another sprint at developing a new design for rendering. This means I won't be updating the SVN with daily bug fixes and additions. The new design should increase performance in some situations, and most importantly allow removal of texture filtering so that images look the same in DX and GL. Hopefully I can get this done by Sunday, but its actually a lot of work, and requires a lot of internal changes.

kungfoomasta

29-11-2007 00:01:49

I'm curious to see what is displayed on your screen when you add the following line of code to QuickGUI::VertexBuffer::_render:

pass->getTextureUnitState(0)->setTextureFiltering(FO_NONE, FO_NONE, FO_NONE);

Or

pass->getTextureUnitState(0)->setTextureFiltering(FO_POINT, FO_POINT, FO_NONE);

If you could see the effects of these lines on your test bed that would help me see if the textures are affected. Add them in after the following code:


Ogre::Technique::PassIterator passIt= t->getPassIterator();
while (passIt.hasMoreElements())
{
Ogre::Pass *pass = passIt.getNext();

pass->getTextureUnitState(0)->setTextureName((*textureChangeIt).first);

hotdot

29-11-2007 02:06:57

Hi i sent you the code via email, im going to work a half day tomorow, friday we have to do a code merge but tell me when your finished and next week i could take the lead for the week to correct things (not mess with your design which clearly has reasons to be that way ;) )

keep me poste on what you found, and by the way my code trys to load a new skin odd1, i added the resource.cfg in the root folder of the zip so you can test the ogre style loading.

A big thanks for the help by the way !

On a side note our lead artist is working on the new skin :)