Jump to content
  • Advertisement
Sign in to follow this  
HenriqueRocha

OpenGL Display List, Frustum Culling, Terrain LOD

This topic is 2525 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello Everyone!

[color=#333333][font=arial, sans-serif]I am developing[/font][color=#333333][font=arial, sans-serif] [/font][color=#333333][font=arial, sans-serif]a[/font][color=#333333][font=arial, sans-serif] [/font][color=#333333][font=arial, sans-serif]game engine as you can see here:[/font]


I have an implementation of Frustum Culling and GeoMipmapping.

I added display lists to 3D models

[color=#333333][font=arial, sans-serif]and[/font][color=#333333][font=arial, sans-serif] [/font][color=#333333][font=arial, sans-serif]there were huge[/font][color=#333333][font=arial, sans-serif] [/font][color=#333333][font=arial, sans-serif]improvements.[/font]

[color=#333333][font=arial, sans-serif]But for Terrain I have my doubts, if I put the whole terrain in a display list, will it become heavy?[/font]

[color=#333333][font=arial, sans-serif]Does OpenGL do frustum culling to a display list? [/font]

[color=#333333][font=arial, sans-serif]What can I do to improve my engine? [/font]

[color=#333333][font=arial, sans-serif]Thanks for helping ;-)[/font]

Share this post


Link to post
Share on other sites
Advertisement
Olá, lembro-me de falar contigo a uns tempos atrás quando começaste nisto do 3d smile.png


[color=#333333][font=arial, sans-serif]But for Terrain I have my doubts, if I put the whole terrain in a display list, will it become heavy?[/font]

Faster than using glBegin .. glEnd


[color=#333333][font=arial, sans-serif]Does OpenGL do frustum culling to a display list? [/font]

No (with some exceptions, NVidia drivers do that for you), however it is a good a pratice to do frustum culling yourself.


[color=#333333][font=arial, sans-serif]What can I do to improve my engine? [/font]

Divide the terrain in chunks, and do a frustum test for each one.
Then improve it with a guadree, to reduce number of tests.
Then you can start looking into having LOD and other advanced techniques.

Share this post


Link to post
Share on other sites
(O mundo é pequeno biggrin.png)

I have already a quadtree, when I choose the quad's node to print, it will create at least 4 triangles (more to fill gaps between levels of detail).

[color=#0000EE]


[color=#333333][font=arial, sans-serif]I have wondered:[/font]

[color=#333333][font=arial, sans-serif]- draw TRIANGLE_FAN but different triangles have different textures.[/font]
- create a display list for each node of the quad tree but the triangles are dynamic due to LOD.

@Relfos: As tuas dicas foram cruciais para começar no 3D, obrigado ;-)

Share this post


Link to post
Share on other sites
GL doesn't do frustum culling since its job is to send vertices to your GPU. However, nvidia drivers are kind of special.

Use TRIANGLES instead of TRIANGLE_FAN. Use glDrawRangeElements (this means having indices). Use VBO/IBO.

As for display lists, they are highly optimized on nvidia but about half the gamers probably have AMD so you have to satisfy everyone.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!