Hello, I am new to the gaming side of programming and especially graphics and rendering stuff. Is there a good resource to find out what all the terms mean?
Like "stencilbuffer" in the first tutorial. It is great that it tells me there is such a thing and we are not using ... but what does it do? When should I use one?
And this "vync: Specifies if we want to have vsync enabled, this is only useful in fullscreen mode." again is great, but where do I learn how and why it useful? When would I not want to use it in fullscreen mode?
Digging a little deeper, where would I find out more about EMF_GOURAUD_SHADING? And again, why would I opt for it or Flat?
I could be jumping the gun here and should get through more tutorials first, but like to know what I am working with, up front when I can.
Thanks
Where to learn about terminology?
Just go to Google.com and search for the stuff. There's so many examples, tutorials, and definitions out on the web it isn't even funny.
For examples: "what is stencil buffer" will turn up Google's catalog of defintions for a stencil buffer. It says its used to mask things. (and as a specific example its used for a certain shadowing technique).
Same thing should apply for vsync, Gourand Shading, etc.
And to example those specifically:
vsync: Syncronize with the monitor's refresh. Your monitor redraws what's in the screen buffer every X times per second(could be anything, depending on settings. It's usually 60Hz). If you do not syncronize with the monitor you can sometimes get what is called "tearing". If I recall correctly tearing is caused because you are drawing your scene at the same time the monitor is already refreshing. Therefore half of what's displayed on the monitor is from an old render while the other half is from a new render. Weird stuff. If you vsync this problem goes away but your FPS (Frames per second) gets locked (or below) at the refresh rate.
Gourand Shading: This specifies the way the video card will light each polygon. Under the standard pipeline the video card will light everything at each vertex only. That means it does its calculations at each vertex and stores the result at each vertex. It does not happen at every pixel. The video card must then decide how to take the vertices of a face and determine how to blend between them along the face. With gourand shading its a simple gradient from vertex to the next. With flat shading there is no gradient, its flat. Gourand shading is the best per-vertex lighting you can get (as far as I know). If you want more realism you have to do per-pixel lighting which requires the use of shaders (programs that run on the video card and modify how things are displayed).
Of course the best way to learn what something does is to try and compare it. Try rendering a lit scene (one with lighting) with Gourand shading and then render the same scene with flat shading.
For examples: "what is stencil buffer" will turn up Google's catalog of defintions for a stencil buffer. It says its used to mask things. (and as a specific example its used for a certain shadowing technique).
Same thing should apply for vsync, Gourand Shading, etc.
And to example those specifically:
vsync: Syncronize with the monitor's refresh. Your monitor redraws what's in the screen buffer every X times per second(could be anything, depending on settings. It's usually 60Hz). If you do not syncronize with the monitor you can sometimes get what is called "tearing". If I recall correctly tearing is caused because you are drawing your scene at the same time the monitor is already refreshing. Therefore half of what's displayed on the monitor is from an old render while the other half is from a new render. Weird stuff. If you vsync this problem goes away but your FPS (Frames per second) gets locked (or below) at the refresh rate.
Gourand Shading: This specifies the way the video card will light each polygon. Under the standard pipeline the video card will light everything at each vertex only. That means it does its calculations at each vertex and stores the result at each vertex. It does not happen at every pixel. The video card must then decide how to take the vertices of a face and determine how to blend between them along the face. With gourand shading its a simple gradient from vertex to the next. With flat shading there is no gradient, its flat. Gourand shading is the best per-vertex lighting you can get (as far as I know). If you want more realism you have to do per-pixel lighting which requires the use of shaders (programs that run on the video card and modify how things are displayed).
Of course the best way to learn what something does is to try and compare it. Try rendering a lit scene (one with lighting) with Gourand shading and then render the same scene with flat shading.
Thanks!
Ya, I thought about googling for it ... but thought I might ask first if there was a good reference site (or book) for this kind of stuff (while I plow through the demos).
Your explanations are great! Thanks!
An I have been playing around with the demos .. but with many things, like vsync, until you have the right stuff going on, changing it one way or another makes no difference ... so a newbie like me can't figure out what the heck it is, is for, is supposed to do ... etc.
Thanks!
Your explanations are great! Thanks!
An I have been playing around with the demos .. but with many things, like vsync, until you have the right stuff going on, changing it one way or another makes no difference ... so a newbie like me can't figure out what the heck it is, is for, is supposed to do ... etc.
Thanks!