Part of the Khronos Group
OpenGL.org

The Industry's Foundation for High Performance Graphics

from games to virtual reality, mobile phones to supercomputers

Page 111 of 173 FirstFirst ... 1161101109110111112113121161 ... LastLast
Results 1,101 to 1,110 of 1724

Thread: OpenGL 3 Updates

  1. #1101
    Senior Member OpenGL Pro
    Join Date
    Sep 2004
    Location
    Prombaatu
    Posts
    1,386

    Re: OpenGL 3 Updates

    Well, they're not useless, just not strictly necessary as a basic primitive. If you're trying to simplify things it's a good candidate for cut list.

  2. #1102

    Re: OpenGL 3 Updates

    Maybe (I actually can think in some very good uses of triangle fans, specially when it comes to spherish surfaces). But I'm pretty sure that Microsoft removed them with the excuse that they were slow, because they consider triangle fans to be as slow as individual triangles o_O I guess the excuse they put is the cache, but c'mon, instead of caching the two last vertices, cache the first and the last one...

    But seriously, if they really wanted to speed up things, they could have made an index buffer object or something. That would be faster than any kind of triangle grouping you can think on.

    Oh, and something I forgotten to mention:
    Quote Originally Posted by HexCat
    typically you'd use an element array with them to avoid having to specify redundant data in your attribute arrays.
    Vertex buffers in immediate mode are the only choice in D3D10. For some weird reason retained mode was removed (I swear there are a lot of useful things that got removed). OK, I understand that bigger power allows you to use more brute force, but c'mon, there's no reason to use it as an excuse to remove stuff that helps speeding up, specially because buses aren't as fast as the CPU and the GPU, and are probably the main bottleneck reason for slow downs... And immediate mode isn't exactly very friendly with that =/

  3. #1103
    Intern Contributor
    Join Date
    May 2007
    Location
    Germany
    Posts
    50

    Re: OpenGL 3 Updates

    What do you mean with an index buffer object? While former Direct3D versions have dedicated index buffer with Direct63D 10 you just create a buffer (with an index buffer binding flag) and use it as index buffer.

    What makes you thing that Direct3D 10 supports only immediate mode buffers? The buffers (like all other resources) in Direct3D 10 keep their data until you overwrite it with something else. There are only some rules about hinting the system how often you will change the data. These hints will have an impact on how you need to update the data (direct memory mapping or using a copy instruction).

  4. #1104

    Re: OpenGL 3 Updates

    Quote Originally Posted by Demirug
    What do you mean with an index buffer object? While former Direct3D versions have dedicated index buffer with Direct63D 10 you just create a buffer (with an index buffer binding flag) and use it as index buffer.
    Well, vertex buffers hold an array of vertices, so an index buffer would hold an array of indices :P Think of it like a huge batch and the GPU uses all the vertices according to the specified indices.

    Hm, maybe I'm gonna check harder. Direct3D 10 really scares me with so many removed features x_X At least with OpenGL you can use legacy functions if you don't have time to learn newer stuff (e.g. you're in a hurry, or you're porting an engine and you want to test as you implement new features rather than having to port it all before being able to do it).

    Quote Originally Posted by Demirug
    What makes you thing that Direct3D 10 supports only immediate mode buffers?
    I guess the fact the docs explicitly say that retained mode was removed?
    The Direct3D Retained Mode API was completely removed from Windows Vista.
    Windows Vista continues to support the same Direct3D and DirectDraw interfaces as Windows XP, back to version 3 of DirectX (with the exception of Direct3D's Retained Mode, which has been removed).
    Mh, OK, maybe I got confused there. But still, Microsoft removed support from retained mode, so for our matter the issue is the same... (I actually wonder if video cards are optimized for immediate mode, I could get the PGL engine to render faster using glVertex*() directly rather than using arrays, but maybe I was just lame :P)

    I hope OpenGL 3 still allows doing this.

  5. #1105
    Intern Contributor
    Join Date
    May 2007
    Location
    Germany
    Posts
    50

    Re: OpenGL 3 Updates

    That “Direct3D Retained Mode” is something complete different. It was some sort of high level engine that was part of the first Direct3D version. It was hardly used and I know only one game that was shipped with this. This has nothing to do with the retained/immediate modes that you now from OpenGL.

  6. #1106
    Senior Member OpenGL Guru
    Join Date
    Dec 2000
    Location
    Reutlingen, Germany
    Posts
    2,042

    Re: OpenGL 3 Updates

    Hey man you are complaining about D3D10 being retarded and give only examples which show, that you really don't know what you are talking about!

    Adjacency information is needed for the geometry shader, index buffers (in GPU RAM) are of course possible (and the preferred way), retained mode is something different than immediate mode (and afaik D3D6 or 7 already dropped retained mode, only that now also Vista dropped support for those old versions, if i understand that correctly).
    Immediate mode in D3D? Was there ever such a thing? And OpenGL will also drop the immediate mode for good reasons (NO it is not supported by hardware and your glVertex*() example is something very different (it doesn't even belong to immediate mode)). Immediate mode can (and certainly will) be provided through helper APIs layered on top, just as it should be.

    Stop babbling and ranting about stuff that's clearly your fault due to incompetence!

    Jan.
    GLIM - Immediate Mode Emulation for GL3

  7. #1107
    Senior Member OpenGL Guru
    Join Date
    Mar 2001
    Posts
    3,576

    Re: OpenGL 3 Updates

    For some weird reason retained mode was removed
    Retained mode was removed because it was terrible. It was an awful way to store vertex data, it had lousy performance compared to decent use of immediate mode, and it didn't keep up with the rest of the API. Plus it sucked up valuable development resources.

    I actually can think in some very good uses of triangle fans, specially when it comes to spherish surfaces
    How many surfaces are spheres? Or even "spherish"?

    At least with OpenGL you can use legacy functions if you don't have time to learn newer stuff
    Yes, and because of that, the ARB has had to stall OpenGL development so that the API can be rewritten from scratch. And those legacy functions? They were the first things to go.

  8. #1108

    Re: OpenGL 3 Updates

    Quote Originally Posted by Jan
    Hey man you are complaining about D3D10 being retarded and give only examples which show, that you really don't know what you are talking about!
    ...
    Quote Originally Posted by Jan
    Adjacency information is needed for the geometry shader, index buffers (in GPU RAM) are of course possible (and the preferred way), retained mode is something different than immediate mode (and afaik D3D6 or 7 already dropped retained mode, only that now also Vista dropped support for those old versions, if i understand that correctly).
    Maybe it's just that I don't think shaders are the holy thing like many people do :P (I've even seen tutorials teaching about shaders before teaching what a transformation is, for the record). And I already said it was OK, period. It wasn't so obvious to me, specially being out of context like it was explained from where I took that.

    Quote Originally Posted by Jan
    Immediate mode in D3D? Was there ever such a thing? And OpenGL will also drop the immediate mode for good reasons (NO it is not supported by hardware and your glVertex*() example is something very different (it doesn't even belong to immediate mode)). Immediate mode can (and certainly will) be provided through helper APIs layered on top, just as it should be.
    Immediate mode by definition is when you send data directly to the GPU (as we should know), and that's pretty much what does D3D normally, so technically D3D had immediate mode already. If it's explicitly mentioned or not, that's another thing.

    Quote Originally Posted by Jan
    Stop babbling and ranting about stuff that's clearly your fault due to incompetence!
    OK, Sik, you caused another flamewar again >_> Now I really want that Internet blacklist so I can get in =/

    Quote Originally Posted by Korval
    I actually can think in some very good uses of triangle fans, specially when it comes to spherish surfaces
    How many surfaces are spheres? Or even "spherish"?
    Well, several building structures, some complex models, maybe statues (by "spherish" I didn't mean full spheres, it may be just a small slice of a sphere, or even the internal side, or whatever), mechanical parts, etc. There're lots of things that normally get ignored, through yes, often these are artificial things. But they do exist, and in a lot of places.

    Quote Originally Posted by Korval
    At least with OpenGL you can use legacy functions if you don't have time to learn newer stuff
    Yes, and because of that, the ARB has had to stall OpenGL development so that the API can be rewritten from scratch. And those legacy functions? They were the first things to go.
    Yeah, but even if they prevent you from using new functionality, you still can do something, even if not as advanced as you can do with the new stuff. Being forced to relearn everything only to be able to do something I could do before easily simply is stupid. It may be better, yes, but if I don't have time then let me use the old stuff. I don't mean really old stuff, maybe just stuff from the immediately previous version =/

    Oh, I better autoban myself from this topic, I started causing trouble again... >_> I swear why when I don't think the same as other people, people always get angry on me and start flaming me >_>

  9. #1109
    Intern Contributor NeARAZ's Avatar
    Join Date
    Dec 2006
    Location
    Lithuania
    Posts
    51

    Re: OpenGL 3 Updates

    Quote Originally Posted by Sik the hedgehog
    Quote Originally Posted by Jan
    Adjacency information is needed for the geometry shader, index buffers (in GPU RAM) are of course possible (and the preferred way), retained mode is something different than immediate mode (and afaik D3D6 or 7 already dropped retained mode, only that now also Vista dropped support for those old versions, if i understand that correctly).
    Maybe it's just that I don't think shaders are the holy thing like many people do
    So now you're saying D3D10 should have not added this new feature (primitives with adjacency info) just because you don't use it? Way to go.

    Immediate mode by definition is when you send data directly to the GPU (as we should know), and that's pretty much what does D3D normally, so technically D3D had immediate mode already. If it's explicitly mentioned or not, that's another thing.
    Hold on a sec... GPUs were working that way perhaps in 1996. They have moved on quite a bit from the model where all data had to be "pushed" onto them all the time. Wake up!

    Quote Originally Posted by Korval
    I actually can think in some very good uses of triangle fans, specially when it comes to spherish surfaces
    The point is: while fans are a nice helper in some (rare) situations, they are not faster than lists or strips. And unlike strips, you can't join several fans together with degenerate triangles. So they are slower in practice.

    And no, there is no "submission of vertices twice" with triangle lists... ever head of index buffers and GPU post-transform cache?

  10. #1110
    Member Regular Contributor
    Join Date
    Apr 2004
    Location
    UK
    Posts
    420

    Re: OpenGL 3 Updates

    Quote Originally Posted by Sik the hedgehog
    I guess the excuse they put is the cache, but c'mon, instead of caching the two last vertices, cache the first and the last one...
    The cache on a GPU hasn't worked like that in years; they basically arrays which cache the last N vertices and use the index data to perform a look up.

    This is why indexed drawing operations are to be prefered, without the index data it's pretty much impossible to sanely use the vertex cache as the GPU has no way of knowing if the vertex data is a repeat it has in the cache or a new set of data.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •