Jump to content
  • Advertisement

Archived

This topic is now archived and is closed to further replies.

cody

quake3 bsp face types

This topic is 5893 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

i have written a small q3 map renderer and it works quite well with most geometry. but there are face types in the bsp file where i dont know how to render them. normal geometry is rendered as a tringle fan, ok thats good. but there are objects called meshes an when i render them as a tringle fan it doesnt look right. also as tringle strip or tringle list. i have looked at some tutorials and they dont even try to render meshes. and in a description of the bsp file format there was written: "render it as a tringle list"... well that just doesnt work... any suggestions or links to a good explanation appreciated!

Share this post


Link to post
Share on other sites
Advertisement
actually, I would also be very happy with an explanation. I''ve been trying almost everything to render the meshes and bezier curves in q3bsp levels, with no success.

===========================
UNKNOWN caused an invalid page fault in module unknown at 0000:bff80eb6
: win98 with multiple sclerose

Share this post


Link to post
Share on other sites
I went through the same thing. Firstly make sure you are not trying to use the values stored directly in the mesh structure as the verticies of your objects. The mesh structure contains the locaton in the vertex array of the first vertex of the mesh and num of verts for the mesh. I am sure you know that already just making sure. The meshes can not be rendered in any convientet fashion such as strips or fans that I know of. Rather, they must be rendered basically as polygon soup. just render all the triangles, so using open GL just render them as GL_TRIANGLEs. For slightly more speed I recommend that your preload your verts, at least for the meshes into GL vertex arrays, and then lock the arrays, this should give a slight performance boost, and it can never hurt. Anyway, there you go. Glad to help ya.

Nomad

Share this post


Link to post
Share on other sites
thx for the quick answer.

ok, you say just render the mesh like the normal geometry but use GL_TRIANGLES instead of GL_TRIANGLE_FAN...
doesnt work! (maybe im silly...)

Share this post


Link to post
Share on other sites
There is a ''verts'' list, and a ''meshverts'' list.

The polygons are the ''verts'' list as a triangle fan.

The triangle soups are the ''meshverts'' rendered with ''GL_TRIANGLES.''

The other two are... well, more complicated. There are a bunch of old posts about the Q3 bezier patches in these forums. Search ''em out.

Share this post


Link to post
Share on other sites
Do you understand what I was saying about how do derefference the verticies. how they are stored. B/c if you derefference them wrong it will not work. besides this I do not know what else could be wrong. This is the way I do it in my q3 .bsp renderer with the addition of the locked vertex arrays for speed.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
Do you understand what I was saying about how do derefference the verticies. how they are stored. B/c if you derefference them wrong it will not work. besides this I do not know what else could be wrong. This is the way I do it in my q3 .bsp renderer with the addition of the locked vertex arrays for speed.

Share this post


Link to post
Share on other sites
Do you understand what I was saying about how do derefference the verticies. how they are stored. B/c if you derefference them wrong it will not work. besides this I do not know what else could be wrong. This is the way I do it in my q3 .bsp renderer with the addition of the locked vertex arrays for speed.

Share this post


Link to post
Share on other sites
Guest Anonymous Poster
CheeseGrater:
i think you are right. will try that...

Share this post


Link to post
Share on other sites

  • Advertisement
×

Important Information

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

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!