Horde3D

Next-Generation Graphics Engine
It is currently 13.11.2024, 07:36

All times are UTC + 1 hour




Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Horde3D 0.15.0 on MacOSX
PostPosted: 05.04.2008, 19:01 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
I've been following Horde3D development for a weeks now. I must say it's an excellent 3d engine -- exactly the kind I was hoping for. I was able to get 0.14.0 to compile and run flawlessly with little effort, but 0.15.0 seems to take issue with my setup. Both Knight and Chicago seem to be rendering incorrectly and run very slowly (below 10fps) where 0.14.0 was much much faster. Further, the glitches manifest differently between fullscreen and windowed mode.

The Chicago sample has some strange issues. In windowed mode, the pedestrians' shadows seem to "accumulate" with every frame (as if they weren't being cleared from the buffer). In fullscreen, there's big black polygons clipping with the viewport.

Chicago, windowed

Chicago, fullscreen

The knight sample does something similar..

Knight, windowed

Knight, fullscreen

Here's parts of the log which could be relevant.
Code:
0.010    Initializing OpenGL renderer using OGL '2.0 NVIDIA-1.5.24' by 'NVIDIA Corporation' on 'NVIDIA GeForce 8800 GTS OpenGL Engine'
0.010    Extension EXT_framebuffer_multisample and/or EXT_framebuffer_blit not supported

<snip..>

0.150    Compiling shader context deferredLighting.shader.xml--->AMBIENT
0.150    [Fragment Shader]

WARNING: 0:1012: extension 'GL_ARB_draw_buffers' is not supported
ERROR: 0:2017: Shader writes to gl_FragColor and gl_FragData.

0.150    Failed compiling shader
0.150    Compiling shader context deferredLighting.shader.xml--->LIGHTING
0.150    [Fragment Shader]

WARNING: 0:2012: extension 'GL_ARB_draw_buffers' is not supported
ERROR: 0:3012: Shader writes to gl_FragColor and gl_FragData.

0.150    Failed compiling shader


There also seems to be a lot of warnings when it compiles shader contexts, like this:
Code:
0.130    Compiling shader context overlay.shader.xml--->OVERLAY
0.140    [Linking]

WARNING: Could not find vertex shader attribute 'normal' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'tangent' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'bitangent' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'joints' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'weights' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'texCoords0' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'texCoords1' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'parIdx' to match BindAttributeLocation request.
WARNING: Could not find vertex shader attribute 'parCornerIdx' to match BindAttributeLocation request.


I'll keep trying to figure this out, but I'm not yet an expert with shaders nor horde3d. You can expect to see me around in the future, and perhaps contribute a few things ;-)

Edit: Here's a (temporary) link to my XCode projects should anyone be interested.
Horde3D 0.15.0 XCode Project
It's loosely based on swiftcoder's work, but with my own little twist (no longer needs to install the horde3d framework separately, and no absolute paths)


Last edited by Vurlix on 07.04.2008, 22:16, edited 1 time in total.

Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 05.04.2008, 20:45 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Cool, I have been maintaining the OS X port, but I haven't had anyone with an NVidia card to test this stuff yet. Perhaps you would be willing to give my alpha set of 0.15 binaries a spin, and let me know if they have the same problems?

You can download them from here: Horde3D 0.15.0 Mac UB alpha

The package includes a 'Read Me.rtf' with installation instructions (basically just copy the framework into '/Library/Frameworks', and double-click any one of the samples).

The terrain sample is very alpha on the Mac at present, but the Knight and Chicago samples run quite passably on my X1600.

Quote:
There also seems to be a lot of warnings when it compiles shader contexts, like this...
That is normal for the Mac, and can be safely ignored. Apple's GLSL compiler is far stricter than either of ATI or NVidia.

Code:
0.150    Compiling shader context deferredLighting.shader.xml--->AMBIENT
0.150    [Fragment Shader]

WARNING: 0:1012: extension 'GL_ARB_draw_buffers' is not supported
ERROR: 0:2017: Shader writes to gl_FragColor and gl_FragData.
Along the same lines, the compiler is much stricter. This error comes from 'fragDefered.glsl', which you need to separate into 2 files, 'fragDeferedRead.glsl' and 'fragDeferedWrite.glsl', each having only the relevant functions. Or you can grab 'Content' directory from my binary package (above), which has these fixes applied.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 05.04.2008, 21:12 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
The Knight and Chigago samples you compiled give me the same results as my own. Seems that we now have a NVIDIA problem instead of an ATI one! The terrain sample works fine. (I haven't tried compiling my own yet)

Edit: terrain sample runs between 100-400 fps depending on viewpoint (it has some rather strange/erratic performance characteristics)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 05.04.2008, 22:22 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Vurlix wrote:
The Knight and Chigago samples you compiled give me the same results as my own. Seems that we now have a NVIDIA problem instead of an ATI one! The terrain sample works fine. (I haven't tried compiling my own yet)

Edit: terrain sample runs between 100-400 fps depending on viewpoint (it has some rather strange/erratic performance characteristics)
So we have performance problems on ATI cards, and graphical glitches on NVidia cards - sweet!

The folks on Windows and Linux haven't been able to reproduce my ATI performance problems, and it doesn't sound like they have those graphical glitches either, so we are back to the drawing board, so to speak.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 05.04.2008, 22:51 
Offline
Tool Developer

Joined: 13.11.2007, 11:07
Posts: 1150
Location: Germany
Vurlix wrote:
Edit: terrain sample runs between 100-400 fps depending on viewpoint (it has some rather strange/erratic performance characteristics)

I had some kind of jumping frame rates on a nvidia 7600 under win xp at home, too. Driver version was 169.21. In this version I got this problem resolved by disabling the threading optimization in the driver settings. Additionally changing the multi display acceleration to single display improved the performance a lot.
I'm currently not aware of the driver version of the same 7600 card in my office, but I think the driver there was a little bit older and does not have that problem.
Of course I don't know if this solves your problem, since I don't have a mac.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 05.04.2008, 22:56 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
Unfortunately on MacOSX we are stuck with Apple's drivers which are usually good enough, but lack the ability to tweak advanced settings.

In other news, I compiled my own Terrain sample. Great stuff! Now for those pesky shadow glitches... still no dice.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 03:44 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
Update: using the 0.14.0 data files with 0.15.0 binaries+pipelines produces better results. The only thing missing is the ground in both chicago and knight. Must investigate further..


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 04:21 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
Managed to get it working properly by merging some 0.15.0 files into 0.14.0 data.
Now i'll just narrow down the differences until I find the root cause.

Chicago

Knight


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 17:15 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
Update: narrowed the problem down to these 3 files:

Content/shaders/parallax.shader.xml
Content/shaders/skinning.shader.xml
Content/shaders/utilityLib/fragLighting.glsl


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 17:26 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Vurlix wrote:
Update: narrowed the problem down to these 3 files:
Content/shaders/parallax.shader.xml
Content/shaders/skinning.shader.xml
Content/shaders/utilityLib/fragLighting.glsl
2-to-1 your problem is in 'fragLighting.glsl'. We changed that file to fix the crashes on my ATI card, and I would guess that broke your NVidia.

@marciano: Do we have the defines in shaders yet? I think we may need separate NVidia and ATI lighting shaders on Mac.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 17:53 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
The problem isn't just limited to one of the files, as far as I can tell. Each of their newer version causes a different problem.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 06.04.2008, 23:35 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
Vurlix wrote:
The problem isn't just limited to one of the files, as far as I can tell. Each of their newer version causes a different problem.
Bletch. Can you describe/screenshot the problem each causes?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 07.04.2008, 01:22 
Offline

Joined: 19.03.2008, 01:22
Posts: 79
Screenshots!

I labeled the images to specify which individual 0.15.0 shader is being used in conjunction with the 0.14.0 counterparts of the following:

Content/shaders/parallax.shader.xml
Content/shaders/skinning.shader.xml
Content/shaders/utilityLib/fragLighting.glsl

Those are the only files being used from 0.14.0, the rest is 0.15.0 content.

Hope this helps :|


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 07.04.2008, 08:44 
Offline
Engine Developer

Joined: 10.09.2006, 15:52
Posts: 1217
swiftcoder wrote:
@marciano: Do we have the defines in shaders yet? I think we may need separate NVidia and ATI lighting shaders on Mac.


Yes that's already implemented (setShaderPreambles) but the new shaders do nothing fancy at all so they should work on all cards. In the lighting shader I just removed/generalized some constants, no changes at the shadow algorithm or similar.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: 07.04.2008, 18:22 
Offline

Joined: 22.11.2007, 17:05
Posts: 707
Location: Boston, MA
marciano wrote:
The new shaders do nothing fancy at all so they should work on all cards. In the lighting shader I just removed/generalized some constants, no changes at the shadow algorithm or similar.
I think we are uncovering problems with OS X's glsl support, not really surprising. This might be part of our problems.

Interestingly enough, looking through the shaders of a couple of major titles on Mac, they don't seem to have separate code paths for NVidia and ATi.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 30 posts ]  Go to page 1, 2  Next

All times are UTC + 1 hour


Who is online

Users browsing this forum: No registered users and 12 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group