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 2 of 6 FirstFirst 1234 ... LastLast
Results 11 to 20 of 53

Thread: Open GL should support konkave polygons directly

  1. #11
    Intern Newbie
    Join Date
    Dec 2012
    Posts
    43
    ok,
    OpenGL should support concave polygons directly in the Graphics-Hardware.
    To render them is as easy as triangles.

  2. #12
    Intern Newbie
    Join Date
    Dec 2012
    Posts
    43
    OpenGL only support triangels in the hardware, because it is thought, that they
    are easylier to be renderd than concave polygons, but in fact, the concave polygons can be rendered as easy as triangles.

  3. #13
    Senior Member OpenGL Pro
    Join Date
    Apr 2010
    Location
    Germany
    Posts
    1,129
    OpenGL should support concave polygons directly in the Graphics-Hardware.
    The hardware itself has to support stuff for OpenGL to be able to expose it in the first place. You could expose all you want in OpenGL, but if the hardware hasn't a way to do it directly, you'd need to either emulate it in the hardware or do it on the CPU. As Alfonse said, this could probably be done - the fact that it's not there kind of speaks for itself ...

    concave polygons can be rendered as easy as triangles
    From where did you get this? Do you guess or do you know? What are your sources?

    I can't believe I'm getting sucked in again ...

  4. #14
    Intern Newbie
    Join Date
    Dec 2012
    Posts
    43
    Quote Originally Posted by thokra View Post
    From where did you get this?
    From me and myself.

    Quote Originally Posted by thokra View Post
    Do you guess or do you know?
    I know it.

    Quote Originally Posted by thokra View Post
    What are your sources?
    I developed the sourcecode.

  5. #15
    Intern Newbie
    Join Date
    Dec 2012
    Posts
    43
    Quote Originally Posted by thokra View Post
    As Alfonse said, this could probably be done - the fact that it's not there kind of speaks for itself ...
    I think, we are talking about the next release/releases.

  6. #16
    Senior Member OpenGL Pro
    Join Date
    Apr 2010
    Location
    Germany
    Posts
    1,129
    I think, we are talking about the next release/releases.
    We are. What I'm saying is that if a primitive type representing concave polygons was considered feasible by the ARB, it probably would already be in the spec by now. In contrast, the ARB has removed a great deal of primitive types in the past.

  7. #17
    Senior Member OpenGL Pro
    Join Date
    Jan 2007
    Posts
    1,217
    Quote Originally Posted by LuisAK View Post
    ok,
    OpenGL should support concave polygons directly in the Graphics-Hardware.
    To render them is as easy as triangles.
    This is utterly meaningless.

    OpenGL cannot "support" anything "in the hardware". That's not the way things work.

    The way things work is roughly like this:

    Hardware has certain capabilities. These capabilities are decided by the hardware manufacturers with occasional input from others.

    OpenGL is a "software interface to graphics hardware". In other words, it provides a way to access those capabilities from software.

    Hardware manufacturers implement the OpenGL specification in their drivers. You make OpenGL calls. The driver converts those calls to something that the hardware understands, then passes them on to the hardware. The hardware executes the calls.

    But the fundamental requirement - that the hardware must support a feature - is absolutely nothing to do with OpenGL. It's entirely up to the hardware manufacturers.

    Do you see where this is going?

    There's no point whatsoever lobbying the OpenGL forums for this.
    There's no point whatsoever lobbying the ARB for this.

    The people you need to be talking to are the hardware manufacturers. You need to talk to AMD. You need to talk to NVIDIA. You need to talk to Intel. This is nothing to do with OpenGL; you need to ask the hardware manufacturers to support concave polygons in their hardware. And you need to persuade all of them to implement concave polygons in a consistent manner. Because otherwise you're just creating noise and wasting your own time. You want concave polygons? I've told you what to do. Go do it.

  8. #18
    Intern Newbie
    Join Date
    Dec 2012
    Posts
    43
    OK,
    the Graphics Hardware should support the rendering of concave polygons
    Whereby the Graphics Hardware isnt only hardware, thereīs a CPU, memory and software.
    And it should be easy to implement this in this Graphic-Software.

    Arenīt there any guys from the ARB or companies like AMD, NVIDIA or INTEL reading this threads ?

  9. #19
    Senior Member OpenGL Guru
    Join Date
    May 2009
    Posts
    4,948
    Arenīt there any guys from the ARB or companies like AMD, NVIDIA or INTEL reading this threads ?
    Are there? I highly doubt that. Why?

    Because of poorly thought out suggestions like yours.

    Who exactly is this going to help? The transformation of concave polygons into a series of triangles is simple enough that everyone who needs it already has the code for it. Everyone who needs it does it as a simple pre-processes to their input data, executing it before handing it off to OpenGL.

    Therefore, the only legitimate benefit of this (FYI: because someone is too lazy to do it as a pre-process is not a legitimate reason to ask for something) is if you're dynamically generating concave polygons via some process, and you are doing this on the GPU. Therefore, you want the GPU to be able to accept these polygons directly, without having to do a GPU-CPU copy to process them, then a CPU-GPU copy back.

    And if that's the case, there are two perfectly viable solutions:

    1: Have your GPU process that generates the data generate triangles instead of concave polygons. That is, put whatever triangulation algorithm into the GPU process.

    2: Do what I said earlier. Write a compute shader that takes individual polygons and converts them into a sequence of triangles. It's not the easiest thing in the world to write, but it's doable.

    In short, this is a problem you can solve on your own; there is no need for a specific hardware feature or solution, besides the fact that you want it. This isn't even like your suggestion for a font system; that at least has some clear benefits to it. It's not going to happen for practical reasons, but there is at least an argument to be made for it. There was obvious utility to having the feature, even if it's not appropriate for OpenGL. This concave polygon thing is just personal wishlist crap that would help nobody but yourself.

    Why should the ARB, AMD, NVIDIA, or Intel waste their precious time reading suggestions that are this useless? People suggesting pet features like this is exactly why they don't read these threads. Too much noise and not enough signal.

  10. #20
    Senior Member OpenGL Pro
    Join Date
    Jan 2007
    Posts
    1,217
    Quote Originally Posted by LuisAK View Post
    OK,
    the Graphics Hardware should support the rendering of concave polygons
    Whereby the Graphics Hardware isnt only hardware, thereīs a CPU, memory and software.
    And it should be easy to implement this in this Graphic-Software.

    Arenīt there any guys from the ARB or companies like AMD, NVIDIA or INTEL reading this threads ?
    You're still not getting it, are you?

    You claim that concave polygons are just as easy to rasterize. Got news for you - they're not.

    Triangles have certain properties that make them ideally suitable. Some of these are common to all convex polygons, some are particular to triangles. You can't say any of this about concave polygons.


    • Interpolating texcoords or colours across a triangle is just a matter of taking a weighted average from 3 points.
    • All points on a triangle are guaranteed to lie on the same plane.
    • Filling a triangle can be as simple as starting at one edge and drawing a line until you meet another edge.
    • A triangle can be arbitrarily split in two and the result is two more triangles, the very same primitive type.


    This can all be accelerated in hardware, so you need to drop your obsession with "in software" right now. An "in software" approach already exists for concave polygons - it's called GLU tesselation and all OpenGL implementations support it. But all that it does is convert the concave polygon to triangles, which are then dealt with by the hardware. "Graphics hardware isn't only hardware" is one of the most nonsensical things; it's either hardware or it's not, and triangle rasterization is currently implemented in hardware. If you want a serious competitive alternative, then it must also be implemented in hardware, otherwise forget about it.

Posting Permissions

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