Java-Gaming.org Hi !
Featured games (83)
games approved by the League of Dukes
Games in Showcase (516)
Games in Android Showcase (122)
games submitted by our members
Games in WIP (577)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  A word about rendering  (Read 1708 times)
0 Members and 1 Guest are viewing this topic.
Offline Marvin Fröhlich

Senior Duke




May the 4th, be with you...


« Posted 2006-09-14 16:21:32 »

When I implemented glScissors into the rendering process I got a deeper look into the rendering code. Does anyone know what these RenderBins are actually good for? To me they seem to me just performance killers. The only purpose they seem to fulfill is this strange sorting. I cannot see what this is good for, but causing the transparency problems we encountered in HUD development. I don't think the nodes will have to be sorted in any way. They just have to be rendered as the scenegraph defines it.

We could easily waste the RenderBins and get a much faster and more slim rendering code. Well, at least if nobody points out an importance of them. I could do this change.

Marvin
Offline kevglass

JGO Kernel


Medals: 191
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #1 - Posted 2006-09-14 16:24:31 »

Arn't the RenderBins what's used for OpenGL state sorting?

(from Xith's own site: http://www.xith.org/articles/render_pipeline_explanation.html)

Kev

Offline Marvin Fröhlich

Senior Duke




May the 4th, be with you...


« Reply #2 - Posted 2006-09-14 16:27:17 »

Arn't the RenderBins what's used for OpenGL state sorting?

What is OpenGL state sorting?
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline kevglass

JGO Kernel


Medals: 191
Projects: 24
Exp: 18 years


Coder, Trainee Pixel Artist, Game Reviewer


« Reply #3 - Posted 2006-09-14 16:34:28 »

OpenGL doesn't like changing state (state being one of things that you enable in OpenGL, e.g. transparency, lighting) - everytime the state if changed there's a potential for the implementation to have to do a bunch of work. So, for optimum performance you have all objects with a similar state sorted into buckets/bins/caches/lists (names vary quite alot)  to be rendered together and hence minise OpenGL state changes and the assocaited performance impact. This is one of the reasons you'd want to use a rendering engine like Xith at all, it provides the state sorting for free by allowing you to defined the scene in non-immediate mode (other than the spatial checking/culling provided by the scenegraph bounds work).

More details from the wonderful folks here:

http://opengl.j3d.org/tutorials/statesorting.html

Kev

Offline cylab

JGO Ninja


Medals: 52



« Reply #4 - Posted 2006-09-14 16:35:42 »

State changes (e.g. switching to another texture, polygon mode, shader etc.) are expensive, so you want to minimize them as much as possible. The RenderBins sort the scene graph depending on the state changes required to draw the different Nodes.

Loosing the RenderBins will most probably lead to worse instead of better performance...

Mathias - I Know What [you] Did Last Summer!
Offline Marvin Fröhlich

Senior Duke




May the 4th, be with you...


« Reply #5 - Posted 2006-09-14 16:38:42 »

Ah, now I see it. Thanks for the lesson Wink
Offline Amos Wenger

Senior Duke




Everything's possible, but not everything's fun...


« Reply #6 - Posted 2006-09-14 18:48:47 »

Qudus, we seems to have much in common : we have time, motivation, but our knowledge sometimes lag behind. I would suggest us to read through the entire Xith3D code and to find doc for each GL function used so our Xith3D knowledge would be *greatly* improved. I/you already know some parts very well but the rendering layer is still dark.

Really that's a thing to do.

"Once you start working on something, don't be afraid of failure and don't abandon it. People who work sincerely are the happiest"
Offline Marvin Fröhlich

Senior Duke




May the 4th, be with you...


« Reply #7 - Posted 2006-09-14 18:55:37 »

Qudus, we seems to have much in common : we have time, motivation, but our knowledge sometimes lag behind. I would suggest us to read through the entire Xith3D code and to find doc for each GL function used so our Xith3D knowledge would be *greatly* improved. I/you already know some parts very well but the rendering layer is still dark.

Really that's a thing to do.

Totally agreed. Smiley

When I'll work on point (#5) on dev-plan-1, I'll anyway have to look deeper into the rendering thing.
Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

 

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

TehJavaDev (31 views)
2014-10-27 03:28:38

TehJavaDev (26 views)
2014-10-27 03:27:51

DarkCart (40 views)
2014-10-26 19:37:11

Luminem (21 views)
2014-10-26 10:17:50

Luminem (26 views)
2014-10-26 10:14:04

theagentd (32 views)
2014-10-25 15:46:29

Longarmx (61 views)
2014-10-17 03:59:02

Norakomi (57 views)
2014-10-16 15:22:06

Norakomi (46 views)
2014-10-16 15:20:20

lcass (43 views)
2014-10-15 16:18:58
Understanding relations between setOrigin, setScale and setPosition in libGdx
by mbabuskov
2014-10-09 22:35:00

Definite guide to supporting multiple device resolutions on Android (2014)
by mbabuskov
2014-10-02 22:36:02

List of Learning Resources
by Longor1996
2014-08-16 10:40:00

List of Learning Resources
by SilverTiger
2014-08-05 19:33:27

Resources for WIP games
by CogWheelz
2014-08-01 16:20:17

Resources for WIP games
by CogWheelz
2014-08-01 16:19:50

List of Learning Resources
by SilverTiger
2014-07-31 16:29:50

List of Learning Resources
by SilverTiger
2014-07-31 16:26:06
java-gaming.org is not responsible for the content posted by its members, including references to external websites, and other references that may or may not have a relation with our primarily gaming and game production oriented community. inquiries and complaints can be sent via email to the info‑account of the company managing the website of java‑gaming.org
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!