Java-Gaming.org    
Featured games (79)
games approved by the League of Dukes
Games in Showcase (477)
Games in Android Showcase (107)
games submitted by our members
Games in WIP (534)
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  
  VBO or Display List  (Read 647 times)
0 Members and 1 Guest are viewing this topic.
Offline DazKins
« Posted 2013-07-14 20:19:23 »

Those of you who hang around alot in this section will see I've posted a lot to do with rendering systems recently, please forgive me, I'm just curious  Smiley

So my main question as you can see, is should I use VBOs or Display Lists, what situations are they more suited for?

I ask this because I've recently been checking out and learning from the Minecraft source code, and I noticed notch doesn't use VBOs anymore to render his chunks, he's actually using Display Lists. Any idea why he decided to make the switch, as I'm pretty sure he was using VBOs at one point.

Thanks   Cool


DazKins

Check out my Dev Blog: http://dazkins.tumblr.com
Offline davedes
« Reply #1 - Posted 2013-07-14 20:49:34 »

I'm not sure why another thread is necessary. Display lists and immediate mode are old and deprecated. If you want to learn OpenGL, then learn the modern pipeline.

Rolling your own sprite batcher is fairly pain-free when using LibGDX's utils, see here:
https://github.com/mattdesl/lwjgl-basics/wiki/LibGDX-Meshes

The rest of my tutorials might also be of interest to you.

It will of course be much more challenging to re-write all that boilerplate yourself, and it probably won't be nearly as efficient as LibGDX (which uses native C for things like vector math).

Minecraft's rendering code is pretty bad. Lots of deprecated rendering techniques that will not work on many drivers (i.e. mobile). Definitely do not use it as a reference.

Offline Longor1996
« Reply #2 - Posted 2013-07-16 03:34:21 »

I ask this because I've recently been checking out and learning from the Minecraft source code, and I noticed notch doesn't use VBOs anymore to render his chunks, he's actually using Display Lists.

Please download the MinecraftCoderPack and look at the chunk renderer.
Minecraft is actually using VAO's to render everything, but it does this in a horribly slow+bad way.

- Longor1996

Sorry for my bad English! That's because i am from Germany.
Games published by our own members! Check 'em out!
Legends of Yore - The Casual Retro Roguelike
Offline Pauler
« Reply #3 - Posted 2013-07-16 10:42:01 »

I ask this because I've recently been checking out and learning from the Minecraft source code, and I noticed notch doesn't use VBOs anymore to render his chunks, he's actually using Display Lists.

Please download the MinecraftCoderPack and look at the chunk renderer.
Minecraft is actually using VAO's to render everything, but it does this in a horribly slow+bad way.

- Longor1996

As far as I remember, he uses display lists.
Offline Mike

JGO Ninja


Medals: 71
Projects: 1
Exp: 5 years


Java guru wanabee


« Reply #4 - Posted 2013-07-16 11:45:15 »

As far as I remember, he uses display lists.

It used to only be display lists but now you can turn on the "Advanced OpenGL" setting and then it uses VBOs or VAOs.

Regarding the initial question. If you want to easily migrate your code to mobile then don't go display lists. If that isn't a requirement for you just go with what is easiest for you so you get to see results on your screen.

As noted with the Minecraft reference the one or the other will not make or break your possiblity to some time in the future sell your game if that is your goal.

Doing some testing with my nvidia drivers got me to the conclusion that display lists take way longer to create and is therefore not good for objects that change often. On the other hand the performance of the display lists once created were the same or even a little bit faster than VBOs.

Mike

My current game, Minecraft meets Farmville and goes online Smiley
State of Fortune | Discussion thread @ JGO
Offline gouessej
« Reply #5 - Posted 2013-07-16 13:10:05 »

Hi

I agree with Mickelukas but in my case, display lists are sometimes interesting only on tiny meshes (tens of triangles) or on a very few very old Intel chips that claim to support OpenGL 1.5 including VBOs but very slowly. I don't really see the interest of using them, most of Java scenegraphs don't use them or expose them only in specific renderer delegates that are very rarely used. Display lists have never been designed for dynamic meshes and some drivers support them under the hood by using ... VBOs Smiley If I were you, rather use only immediate mode without display lists if you just make some rapid prototyping, use retained mode (vertex arrays + compiled vertex arrays or VBOs) otherwise.

Offline DazKins
« Reply #6 - Posted 2013-07-16 18:10:44 »

I ask this because I've recently been checking out and learning from the Minecraft source code, and I noticed notch doesn't use VBOs anymore to render his chunks, he's actually using Display Lists.

Please download the MinecraftCoderPack and look at the chunk renderer.
Minecraft is actually using VAO's to render everything, but it does this in a horribly slow+bad way.

- Longor1996

He draws the geometry out using VAOs, but the output from the VAO is then assigned to a display list

DazKins

Check out my Dev Blog: http://dazkins.tumblr.com
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.

pw (35 views)
2014-07-24 01:59:36

Riven (34 views)
2014-07-23 21:16:32

Riven (22 views)
2014-07-23 21:07:15

Riven (25 views)
2014-07-23 20:56:16

ctomni231 (56 views)
2014-07-18 06:55:21

Zero Volt (48 views)
2014-07-17 23:47:54

danieldean (39 views)
2014-07-17 23:41:23

MustardPeter (43 views)
2014-07-16 23:30:00

Cero (59 views)
2014-07-16 00:42:17

Riven (56 views)
2014-07-14 18:02:53
HotSpot Options
by dleskov
2014-07-08 03:59:08

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:58:24

Java and Game Development Tutorials
by SwordsMiner
2014-06-14 00:47:22

How do I start Java Game Development?
by ra4king
2014-05-17 11:13:37

HotSpot Options
by Roquen
2014-05-15 09:59:54

HotSpot Options
by Roquen
2014-05-06 15:03:10

Escape Analysis
by Roquen
2014-04-29 22:16:43

Experimental Toys
by Roquen
2014-04-28 13:24:22
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!