Author Topic: OpenGL "gotchas"  (Read 3241 times)

Offline DarthAPO

  • byte
  • *
  • Posts: 4
    • View Profile
    • http://www.darthapo.com
OpenGL "gotchas"
« on: January 26, 2003, 09:17:25 am »
I know it's still in a beta phase, but I was wondering if you have listed anywhere some of the main things that will break when switching over to the OpenGL (hardware accelerated) renderer?

I'm hoping to use the subset of features that will work for both renderers in my project.

I know you mentioned a couple of things on this board, overbright lighting for one. Is there anything else major I should keep in mind?

TIA

Offline EgonOlsen

  • Administrator
  • quad
  • *****
  • Posts: 11745
    • View Profile
    • http://www.jpct.net
OpenGL "gotchas"
« Reply #1 on: January 26, 2003, 01:45:07 pm »
For the time being: bump-mapping. I'm planing to add this to the OpenGL-renderer, but i'm not sure how fast i'll get it working in a way that it looks similar to software. You've already mentioned overbright lighting. That's it...all other things should work. Some optimizations like OptiZ and Spanbased HSR won't do anything for OpenGL, but that doesn't matter anyway. Transparency may look a little bit different when comparing both renderers, but that's nothing to worry about. In addition, everything that manipulate textures and/or the framebuffer (TextureEffects and some kinds of blitting) will be slower in OpenGL, because transfering new textures to the card is expensive in terms of performance. If there could be problems, this is documented in the methods itself.

LWJGL doesn't render into a standard component but its own. Therefor, the standard Java-stuff like Listeners and the like doesn't work on the OpenGL windows/fullscreen view. You have to use the LWJGL way of doing these things (which is quite simple (polling)) and if your application should be run without LWJGL when using the software renderer, you'll most likely have to write your own wrapper for such things...but there's nothing i can do about that...it's a limitation or feature (whatever you like to call it) of LWJGL, which isn't my project.

Hope this helps.

Edit: And anti-aliasing. I'm not enabling it ATM in the OpenGL mode. It can still be enabed via the drivers or tools...depending on your hardware.