Horde3D http://horde3d.org/forums/ |
|
Horde3D 0.15.0 on MacOSX http://horde3d.org/forums/viewtopic.php?f=1&t=271 |
Page 1 of 2 |
Author: | Vurlix [ 05.04.2008, 19:01 ] |
Post subject: | Horde3D 0.15.0 on MacOSX |
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) |
Author: | swiftcoder [ 05.04.2008, 20:45 ] |
Post subject: | |
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 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.
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. |
Author: | Vurlix [ 05.04.2008, 21:12 ] |
Post subject: | |
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) |
Author: | swiftcoder [ 05.04.2008, 22:22 ] |
Post subject: | |
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) So we have performance problems on ATI cards, and graphical glitches on NVidia cards - sweet!
Edit: terrain sample runs between 100-400 fps depending on viewpoint (it has some rather strange/erratic performance characteristics) 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. |
Author: | Volker [ 05.04.2008, 22:51 ] |
Post subject: | |
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. |
Author: | Vurlix [ 05.04.2008, 22:56 ] |
Post subject: | |
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. |
Author: | Vurlix [ 06.04.2008, 03:44 ] |
Post subject: | |
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.. |
Author: | Vurlix [ 06.04.2008, 04:21 ] |
Post subject: | |
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 |
Author: | Vurlix [ 06.04.2008, 17:15 ] |
Post subject: | |
Update: narrowed the problem down to these 3 files: Content/shaders/parallax.shader.xml Content/shaders/skinning.shader.xml Content/shaders/utilityLib/fragLighting.glsl |
Author: | swiftcoder [ 06.04.2008, 17:26 ] |
Post subject: | |
Vurlix wrote: Update: narrowed the problem down to these 3 files: 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.
Content/shaders/parallax.shader.xml Content/shaders/skinning.shader.xml Content/shaders/utilityLib/fragLighting.glsl @marciano: Do we have the defines in shaders yet? I think we may need separate NVidia and ATI lighting shaders on Mac. |
Author: | Vurlix [ 06.04.2008, 17:53 ] |
Post subject: | |
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. |
Author: | swiftcoder [ 06.04.2008, 23:35 ] |
Post subject: | |
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?
|
Author: | Vurlix [ 07.04.2008, 01:22 ] |
Post subject: | |
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 |
Author: | marciano [ 07.04.2008, 08:44 ] |
Post subject: | |
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. |
Author: | swiftcoder [ 07.04.2008, 18:22 ] |
Post subject: | |
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. |
Page 1 of 2 | All times are UTC + 1 hour |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |