Okay I’ve been working on a project [my first openGL encounter] for a few months now, and have run into a few major questions about the ‘right way’ (is there EVER one? :P) to do some different things in openGL, so here goes.
For all intents and purposes, I’m working on a deformable landscape engine, that uses uniform length quad shaped polys in rows/columns, with a user defined size of the map… so it could be 100 x 100 or 500 x 500, I want to do my best to keep this open.
Right now, I’m keeping all of my data as what I believe you call an ‘indexed array’, keeping the data in a matrix and referring to it with a matrix of pointers (because some points are referenced as parts of 2 or 4 different ‘spaces’, maybe this ISN’T indexed arrays?), and I’m loading in the map and building it into a large datalist. Also, I’m sorting my textuers to do drawing one texture at a time.
Now, here starts the problems!! First off, I was reading a thread that described a similar program and Gorg mentioned that using a datalist for that was a bad idea, because it reduced what you could do with culling. I thought this was the case, but I do not know what a better way would be? I’ve heard of stuff like “view frustrum culling”, but the only times I’ve read about it, it was just way over my head and didn’t explain what was really happening. I’m sure there are some other ways?
Another question, datalists are kept in COMPUTER ram as low level video card instructions/whatever, NOT on video ram - correct??
Another sub-issue here, I’ve been reading a lot on nvidia’s site and all over about the stencil buffer (does EVERY EXAMPLE use that stupid dinosaur?? :P), and I’ve got a couple of questions about it. First, in that dino example they have it casting a reflection on the floor – i know they draw either the dinosaur or the floor with alpha?? Which one is transparent, which is drawn first?? I can’t quite get the same effect. Also, with shadows and the such I follow the examples and the theory alright, but I’m confused when they talk about specifying a matrix to use / using glMultiMatrixf(); I understand the syntax I just do not understand what this is all about and how it’s used to do anything??
And lastly, when a scene seems to have a light source that shines places (maybe this is called radiosity light? I’m uncertain), is this effect generally caused by ‘casting light’ or by ‘casting dark’ – is it just shadowing everything BUT a specific part or is it really somehow ‘casting light’ ?
TIA to anybody that responds, even posting a link to an example of anything here or leaving a quick note will really go a long way, I’ve just reached a lot of dead-ends and a lot of the older threads leave me a little bit confused.
-oliver