"Where there is love there is life."
- Mahatma Gandhi
More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 ... 71 ... 81 ... 91 ... 101 ... 111 ... 121 ... 131 ... 141 ... 151 ... 161 ... 166 167 168 169 170 171 172 173 174 175 176 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 371 ... 381 ... 391 ... 401 ... 411 ... 421 ... 431 ... 438
Query FailedApp
Tuesday, August 11, 2009

> 2) readability - immediate mode is very readable, but I can not say this about writing vertices and indices to some buffers and then doing DIPs with that buffers

You can hae readable code by writing a good wrapper for OpenGL 3.x API calls.

> 3)simplicity - give beginers some simple API to start with, without need for 3rd party API

Use OpenGL 2.0.

Both immediate mode and display list requires CPU to GPU transition. Which requires CPU time and bus bandwidth.
It is no longer fit with the current GPU hardware model, a powerful processing unit that can work alone without the help of CPU.
Not to mention that a wrapper over the OpenGL API can provide the syntax sugar you required. (If the demand of these features is high, the library provides such functions will be as popular as GLEW.)

And for beginners, it is more confusing to provide multiple ways to do the same thing. immediate mode vs Display list vs VBO


> 2) readability - immediate mode is very readable, but I can not say this about writing vertices and indices to some buffers and then doing DIPs with that buffers

You can hae readable code by writing a good wrapper for OpenGL 3.x API calls.

> 3)simplicity - give beginers some simple API to start with, without need for 3rd party API

Use OpenGL 2.0.

> And about generating coords in shader - it's easy and handy, but as far as I remember every IHV says - if you can do some computations on CPU - do it here, to speedup shader code. Immediate mode just eliminate the need for such hacks.

Using immediate mode is no faster than using VBO properly. Immediate mode is a syntax sugar only. Why don't provide syntax sugar in a library, but messing with the low level API that communicates with hardware?

Sopyer
Tuesday, August 11, 2009

@Humus well I daily work with deffered renderer and I can see how things like display lists and immediate mode could simplify code and make it more readable. The point of my complaints is not that it is not impossible to implement such things on top of OpenGL(even display lists - performance is another question) but that:
1) every developer should do this (if such stuff is implemented already it will reduce error count)
2) readability - immediate mode is very readable, but I can not say this about writing vertices and indices to some buffers and then doing DIPs with that buffers
3)simplicity - give beginers some simple API to start with, without need for 3rd party API
And about generating coords in shader - it's easy and handy, but as far as I remember every IHV says - if you can do some computations on CPU - do it here, to speedup shader code. Immediate mode just eliminate the need for such hacks.
And one more point XHTM2.0 was a failture because it was so simple and academic, and HTML5 succeeded because it was more practical and more usable in real world.

Humus
Monday, August 10, 2009

Sopyer, I've implemented deferred shading, post process and UI without the need for any immediate mode or code to emulate it. If drawing quads is too cumbersome then perhaps graphics isn't the right field for you. It's easy to create a static vertex buffer containing the four vertices and reuse. Or better yet, generate the coordinates directly in the vertex shader and don't use any vertex buffer at all. This is what I usually do these days. It's easily as convenient as any immediate mode rendering.

Kyle
Monday, August 10, 2009

@Overlord: well, dl are pretty as sw as VAOs are - none can be implemented on top of GL for performance resons, immediate mode could (and can be), but unless Khronos provides it, everyone will write their own version of that (or wont bother). BTW, im all for the ideo of gl toolkit branded by Khronos putting all that good stuff on top of GL.

Overlord
Monday, August 10, 2009

@Sopyer&Kyle: one have to remember the ultimate goal they are trying to achieve to understand why they removed immediate mode, display lists and so on.
They want to create a slim, pure and powerful graphics API, that means VBOs and shaders only.
Both immediate mode and display lists are for all intents and purposes software, so the plan is to have those put in another library like glu, or have people write their own, i know it would only take me a few hours or so to write something that emulates it, in fact i already did replace all matrix translations.

Kyle
Monday, August 10, 2009

Other strange move is removal of display lists. Yes they have their problems, but their removal was a bit hasty in my opinion. Just look at DX state objects ... seem kinda similar to me (id even say that this one is OGL inspired, but i dont know DX very well so i wont).
I wonder how long will it take for display list to come back (in some form)

Sopyer
Monday, August 10, 2009

@Jan I doubt that display lists and immediate mode is making drivers overcomplicated. They just should separate actuall low-level HW driver and OpenGL implementation. Example of Mesa3D and linux graphical stack is the best proof.
@App to suggest that immediate mode is no longer usefull is just very short-sight. Try to implement deffered renderig, postprocess, UI or something else and you WILL implement some form of immediate mode, just using dynamic VB/IB, especially for quad rendering. Why remove functionality that is useful to many people?

App
Monday, August 10, 2009

Immediate mode is no longer useful for moderm gfx applications.

If you need immediate mode for learning purpose, why don't just use old OpenGL instead?
You can still use old version of OpenGL. Upgrade is not enforced.

More pages: 1 ... 11 ... 21 ... 31 ... 41 ... 51 ... 61 ... 71 ... 81 ... 91 ... 101 ... 111 ... 121 ... 131 ... 141 ... 151 ... 161 ... 166 167 168 169 170 171 172 173 174 175 176 ... 181 ... 191 ... 201 ... 211 ... 221 ... 231 ... 241 ... 251 ... 261 ... 271 ... 281 ... 291 ... 301 ... 311 ... 321 ... 331 ... 341 ... 351 ... 361 ... 371 ... 381 ... 391 ... 401 ... 411 ... 421 ... 431 ... 438