From: Branan R. <br...@gm...> - 2008-09-29 16:19:03
|
I think it's time we make a call for tutorials. Here's a draft message I've been working on for the OpenGL message boards: First, a few definitions, in the context of the SDK: - A *Tutorial* is mostly text, with some code or pseudocode interspersed. - A *Example* is a complete program, with an accompanying document explaining how it works. - A *Demo* is a complete program without an accompanying document, though still well-commented in the source code. Our frameworks aren't quite to the point where we can do examples or demos, but tutorials don't require those frameworks. Beginner tutorials would be prefered, but we won't turn away more advanced topics. With all that out of the way, I'd like to suggest that all those interested in creating tutorials try to get together online, preferably with some of us already working on the SDK, and work out structure and conventions for all the tutorials. The other important thing to work out is licensing. The GFDL or Creative Commons share-alike are the best ones for this situation, in my opinion. This is something that will need to be discussed, though. I'd also like to add a list of the* *must-have tutorials. I'm not 100% sure what those should be, and we may want to ask the OpenGL community at large what they think. Here's my initial list: - Overview - Introduction to 3D Space - Vertex specification - Introduction to Vectors and Matrices - Vertex Shaders - Introduction to pixels/fragments - Fragment Shaders If anyone has anything to add to that progression, or any comments, they'd be greatly appreciated. Branan PS Sorry about the HTML message, I really think the formatting was needed to get everything across properly. |
From: Andrew G. <and...@gm...> - 2008-09-29 22:02:37
|
Just want to re-iterate a list that Rob Barris posted a while ago: > - how do I establish a context and put it on the screen > - make a window, init context, clear, swap > > - how do I put data in a buffer so GPU can see it > - no drawing - just demonstrate the buffer API's > - perhaps BufferData some floats into a buffer, then map it and > print the values seen > > - how do I draw the simplest possible triangle > - pass-through shader for vert position > - "write red" for pixel > - constant verts for geometry in a VBO > > - how can I change the color of the triangle > - introduce per vertex color attribute > - vertex shader passes it through > - alter pixel shader to read it and emit it > > - introduction to uniforms - communicate to shaders > - show color change using uniform (several ways to do this) > > - how can I move the triangle > - see above > > that's a lot of good tutorial steps before we even start talking > about more than one triangle. That list is perfect for beginners in the Tutorial/Example area. The goal here being not too general ("Intro to 3D") but specific to what a beginner is trying to do: Code in OpenGL. There are of course those that need a how-to on 3D, but those are a dime-a-dozen on the web. OpenGL 3.0 (or at least no-FF OpenGL 2.x) are rare to non-existent. Andrew |
From: Jason M. <ko...@gm...> - 2008-09-30 03:12:46
|
Andrew Gajda wrote: > Just want to re-iterate a list that Rob Barris posted a while ago: > > > - how do I establish a context and put it on the screen > > - make a window, init context, clear, swap > > > > - how do I put data in a buffer so GPU can see it > > - no drawing - just demonstrate the buffer API's > > - perhaps BufferData some floats into a buffer, then map it and > > print the values seen > > > > - how do I draw the simplest possible triangle > > - pass-through shader for vert position > > - "write red" for pixel > > - constant verts for geometry in a VBO > > > > - how can I change the color of the triangle > > - introduce per vertex color attribute > > - vertex shader passes it through > > - alter pixel shader to read it and emit it > > > > - introduction to uniforms - communicate to shaders > > - show color change using uniform (several ways to do this) > > > > - how can I move the triangle > > - see above > > > > that's a lot of good tutorial steps before we even start talking > > about more than one triangle. > > That list is perfect for beginners in the Tutorial/Example area. The > goal here being not too general ("Intro to 3D") but specific to what a > beginner is trying to do: Code in OpenGL. There are of course those > that need a how-to on 3D, but those are a dime-a-dozen on the web. > OpenGL 3.0 (or at least no-FF OpenGL 2.x) are rare to non-existent. > > Andrew Tutorials are the most important part of the SDK in terms of actually teaching OpenGL to users. Therefore, we need to actually design the tutorials. We need to figure out what each tutorial will be about on our own. Tutorials are teaching tools, and teaching is not something that is easily done by random data given by a random sampling of GL users. The tutorials as a whole are something that someone needs to own. Demos and examples can be solicited from others just fine. |