Lesson 02 - Functional Specification
Seeing as we have got a lot of progress on lesson 01 so far. We are not done and still have to write the tutorial and add some coding standards etc. I thought it might be a good time to start writing the functional specifications for lesson 02.
As you can see lc_overlord has already posted an idea of them at:
https://opensvn.csie.org/traccgi/NeHeDev/wiki/Lesson02FunctionalSpecifications we will be changing this.
So if you have any free time, lets begin. [smile]
For lesson 2, I don't think we need to talk about the state machine at all. The user doesn't need to know anything about the state machine to understand using GL immediate mode to render shapes. I think the state machine would be better introduced when there is a more direct tie to it. Such as a lesson on using Blend functions or Alpha functions.
Ideally, I think we should get users drawing something quickly. Something to the effect of:
- go to the draw function
- enter the following code
- compile and enjoy
Once that basic workflow is out of the way (and the user feels they've accomplished something), it should be ok to go into detail about how things work. In general, I think we should make it policy to demonstrate something functioning before discussing detail; this way the context has already been presented, and we can discuss detail directly.
- go to the draw function
- enter the following code
- compile and enjoy
Once that basic workflow is out of the way (and the user feels they've accomplished something), it should be ok to go into detail about how things work. In general, I think we should make it policy to demonstrate something functioning before discussing detail; this way the context has already been presented, and we can discuss detail directly.
Quote:Original post by DevLiquidKnight
So perhaps a non-goal could be to not talk about the state machine?
No, we should definitly talk about it, though indirectly trough glColor.
I have allready done the coding (cut/paste from lesson 2 + some glColor3f() )
I am just waiting until lesson 1 is done so we can branch of lesson 2
glTranslatef(-1.5f,0.0f,-6.0f); glBegin(GL_TRIANGLES); // Drawing Using Triangles glColor3f( 1.0f, 0.0f, 0.0f); // Red glVertex3f( 0.0f, 1.0f, 0.0f); // Top glColor3f( 0.0f, 1.0f, 0.0f); // green glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left glColor3f( 0.0f, 0.0f, 1.0f); // blue glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right glEnd(); glTranslatef(3.0f,0.0f,0.0f); glBegin(GL_QUADS); // Draw A Quad glColor3f( 0.0f, 1.0f, 1.0f); // Cyan glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right glColor3f( 1.0f, 0.0f, 1.0f); // Magenta glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left glEnd();
Do you think we need more primitives(points and lines)?
I actually already tinkered with lesson 01s format and what we have planned for lesson 02 I am happy how easy it was to change.
I think one thing we need to discuss is the fact that we have a new layout for the lessons (in terms of OOP) should we perhaps describe it somewhere, maybe even a lesson before lesson 01? Or should we put it into the lesson one tutorial which I think might be confusing.
I think one thing we need to discuss is the fact that we have a new layout for the lessons (in terms of OOP) should we perhaps describe it somewhere, maybe even a lesson before lesson 01? Or should we put it into the lesson one tutorial which I think might be confusing.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement