the Fiddler.'s picture

Site upgrade: Documentation

The Documentation section has been updated with new content and functionality. It now forms what is known as a "collaborative book", which functions not unlike a wiki; once logged in, you can create new pages in the book, edit existing ones, or even change the chapter layout. There isn't much content to speak of right now but new pages are slowly being added, with the intent of acting not only as a manual for OpenTK but also for 3d programming in the managed world (hey, let a man aim high!)

A rough outline of the chapters:

  1. Installation
    [Linux, Windows, compilation instructions, starting a new project]

  2. A Simple Introduction
    [creating a window, drawing shapes, resizing the window, user input]

  3. Warming up
    [common game-related tasks like framerate independence, text rendering, mode setting, projections/math, loading resources, playing sounds]

  4. Putting it all Together
    [show how to create a simple game, e.g. 3d pong or something of that calibre]

  5. Advanced Topics
    [managed/unmanaged resource pools, interop performance, the GC, scripting on .Net]

  6. Crash-course in OpenGL
  7. OpenAL madness
  8. References

Any specific topics you'd like to see discussed? Interested in helping out? Waiting for your thoughts!


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Inertia's picture

Is this book targeting GL3, GL2 or both?

2,3 and 6 could probably be merged into a few chapters before chapter 4, because essentially those topics all end up in categories like this:

(Graphics)
Geometry
Shaders
States
Textures
Viewing
 
(Input)
Joystick
Keyboard
Mouse

If you want my 2c, I dislike about the book that you cannot edit other people's pages (spelling, add links/content). Maybe add a user level that allows editing freely the book and posting attachments in the forums, basically everyone that has proven not to be a bot ;)
With regular backups this should be rather safe.
I believe it would be better to keep discussions regarding articles in the forum, or you are adding a 3rd place for discussion into the site. Rather extend the boards in the forum and also move these kind of news comments into a "News Discussion" board in the forum. Keeping discussions at a central place would really be beneficial.

objarni's picture

9. Performance guide
- VBOs not VAs ... that sort of thing. Most interesting part is what differs from an unmanaged world, since most of us come from there (I guess)

the Fiddler.'s picture

If you want my 2c, I dislike about the book that you cannot edit other people's pages (spelling, add links/content).
Oops, must have messed up some permission somewhere. All pages should be editable by anyone, except for the function reference (which is generated by code).

9. Performance guide
That could be covered in "5. Advanced Topics", but having a chapter dedicated to this isn't a bad idea.

Inertia's picture

[editing]
Thanks, works now :)

Is this book targeting GL3, GL2 or both?
An answer to this would be really useful.
I'd also like to know more specific what target group this book is supposed for, should the articles after chapter 2 be assuming the reader has no previous knowledge of OpenGL, but solid C# knowledge? Or should it rather be some Tao -> OpenTK porting guide?

[Central place for discussion/comments]
Not sure if this can be easily done with Drupal, but if it is just flipping a few switches please consider doing this. Comments will get lost in the book and it would really be great to have the news-discussions inside the forum too.

P.S. please delete my Test-pages in the book, I'm not allowed to do so. Thanks.

the Fiddler.'s picture

I'm at work now, so I have to be quick:

Is this book targeting GL3, GL2 or both?
GL2 for now, but GL3 will become the focus once the specs and working drivers are released.

[...]what target group this book is supposed for
Users who want to develop games/3d applications with C#/OpenGL/OpenAL. Basic C# knowledge is assumed (difference between static and instance methods, inheritance), but more advanced stuff should be explained (e.g. interop, how the GC interacts with OpenGL etc). OpenGL/OpenAL stuff will be explained assuming no prior knowledge.

[Central place for discussion/comments]
Will do later today.

P.S. please delete my Test-pages in the book, I'm not allowed to do so. Thanks.
Some permission is incorrectly set, will fix.

Inertia's picture

Good to know, I had started few tutorials for Tao which I intend to alter and extend for OpenTK now. It's nowhere complete or near an OpenGL book, but could help fill in some blanks for now. By the time the chapters are decided i'll probably have some of those ready.

Regarding GL2 and 3, how do you intend to organize and crosslink shared topics? Can pages have multiple parents? Most likely a topic like Vertex Arrays could be shared, but State will require separate explanations.

the Fiddler.'s picture

Sounds great!

Unfortunately pages can only have a single parent (a database design issue that's not easily solvable), so we'll have to approach the issue from another way. An idea might be to split the actual concept from the specific implementation, that is describe what a VBO is in one page (and why/when it should be used) and show the GL2 and GL3 implementations in sub-pages. If the implementation is common, simply omit one sub-page.

Inertia's picture

Sounds great!
Don't get your hopes up too high, it's not the orange book.

..split the actual concept from the specific implementation
Mhmm this might prove difficult, describing the topic completely abstract without any reference to GL. Maybe it's just not my style, the stuff I've been working on goes rather into the direction of the Nehe Lessons (introduce, show code, discuss, more code, more discussion, etc.) which would lead to the abstract concept limited to a few paragraphs (~10% of the article) and the implementation the major bit. This implies a large portion of the topic repeated in the sub-pages.

P.S. Tbh I will proofread but not contribute any GL2 articles once GL3 is available. GL2 won't die the second GL3 is released, but I believe many people will switch and there will be almost 0 demand for GL2-related articles in a year from now. Unless you want low minimum hardware requirements I really see no reason to start a new project with GL2.

the Fiddler.'s picture

Don't get your hopes up too high, it's not the orange book.
It still sounds nice. :)

I see what you mean about the tutorials, I suppose we'll see how that plays out once we start working on GL3 material. Duplication probably won't be much of an issue as GL3 tutorials will likely far outnumber GL2 ones a year from now.

Now, if Khronos would only release the GL3 specs...

Inertia's picture

I've c&p a sample into the testing book, to give us a concrete example to refer to. (The actual sub-page is much longer, just cba to format it before porting it to OpenTK first.)
I take it you want that tree-like behaviour to easily add mt. evans and whatever the future brings to the documentation?

Please delete that "Testing :P" tree for me, I've tried to remove it's sub-pages first and then itself but it's still there. Not sure if that has something to do with Comments being present, it seems not related to the file attachment.

My guess is they are making sure that 3.0 is rather solid, but I really hope they can get it done 2007 :P