Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. opengl vs directx

opengl vs directx

Scheduled Pinned Locked Moved The Lounge
graphicsgame-devvisual-studiocomperformance
9 Posts 6 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • J Offline
    J Offline
    Jim Crafton
    wrote on last edited by
    #1

    I have been playing with OpenGL and DirectX/Direct3D recently and have observed some weird behaviour in quality of rendering. When drawing in 2D mode, and trying to render out images (textures), I notice that D3D seems to have artifacts, i.e. it doesn't display the image as it is, it's almost as if it's being scaled just the tiniest bit, despite having explicit coords that tell it where to layout the image that map to the imgae dimensions. OpenGL on the other hand does display the image flawlessly. Is this typical of D3D? Does it sacrifice quality to make some boosts for speed for gaming use?

    ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

    N S E D 4 Replies Last reply
    0
    • J Jim Crafton

      I have been playing with OpenGL and DirectX/Direct3D recently and have observed some weird behaviour in quality of rendering. When drawing in 2D mode, and trying to render out images (textures), I notice that D3D seems to have artifacts, i.e. it doesn't display the image as it is, it's almost as if it's being scaled just the tiniest bit, despite having explicit coords that tell it where to layout the image that map to the imgae dimensions. OpenGL on the other hand does display the image flawlessly. Is this typical of D3D? Does it sacrifice quality to make some boosts for speed for gaming use?

      ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

      N Offline
      N Offline
      NimitySSJ
      wrote on last edited by
      #2

      I am only venturing a guess here, as this is not my area of expertise, but I don't think that's a problem with D3D vs. OpenGL. First reason is that many of the best looking games on the market use DirectX technologies. Alternative explanations could be your drivers, how your software is using D3D, or an issue caused by graphics card. As for quality/speed ratio, you can adjust for such tradeoffs using either technology.

      1 Reply Last reply
      0
      • J Jim Crafton

        I have been playing with OpenGL and DirectX/Direct3D recently and have observed some weird behaviour in quality of rendering. When drawing in 2D mode, and trying to render out images (textures), I notice that D3D seems to have artifacts, i.e. it doesn't display the image as it is, it's almost as if it's being scaled just the tiniest bit, despite having explicit coords that tell it where to layout the image that map to the imgae dimensions. OpenGL on the other hand does display the image flawlessly. Is this typical of D3D? Does it sacrifice quality to make some boosts for speed for gaming use?

        ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

        S Offline
        S Offline
        Storm blade
        wrote on last edited by
        #3

        One thing to check... in GDI the filled rect routines fill up to but not including the last pixel on the right and bottom, is something similar happening under directx with the texture drawing? (scaling the image down by 1 pixel each way...)

        1 Reply Last reply
        0
        • J Jim Crafton

          I have been playing with OpenGL and DirectX/Direct3D recently and have observed some weird behaviour in quality of rendering. When drawing in 2D mode, and trying to render out images (textures), I notice that D3D seems to have artifacts, i.e. it doesn't display the image as it is, it's almost as if it's being scaled just the tiniest bit, despite having explicit coords that tell it where to layout the image that map to the imgae dimensions. OpenGL on the other hand does display the image flawlessly. Is this typical of D3D? Does it sacrifice quality to make some boosts for speed for gaming use?

          ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

          E Offline
          E Offline
          El Corazon
          wrote on last edited by
          #4

          first off, not to sound insulting, are you sure you have matching options. DirectX and OpenGL are equal in "potential. However in both cases there are many ways of achieving similar but not quite the same output. drivers severy impqct per

          _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

          J 1 Reply Last reply
          0
          • J Jim Crafton

            I have been playing with OpenGL and DirectX/Direct3D recently and have observed some weird behaviour in quality of rendering. When drawing in 2D mode, and trying to render out images (textures), I notice that D3D seems to have artifacts, i.e. it doesn't display the image as it is, it's almost as if it's being scaled just the tiniest bit, despite having explicit coords that tell it where to layout the image that map to the imgae dimensions. OpenGL on the other hand does display the image flawlessly. Is this typical of D3D? Does it sacrifice quality to make some boosts for speed for gaming use?

            ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

            D Offline
            D Offline
            Dmitri Nesteruk
            wrote on last edited by
            #5

            Did you forget to shift the texture co-ordinates by 0.5f to account for the pixel-texel mismatch? :)

            J 1 Reply Last reply
            0
            • E El Corazon

              first off, not to sound insulting, are you sure you have matching options. DirectX and OpenGL are equal in "potential. However in both cases there are many ways of achieving similar but not quite the same output. drivers severy impqct per

              _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

              J Offline
              J Offline
              Jim Crafton
              wrote on last edited by
              #6

              No. Not 100% sure, but based on what I could dig up for D3D, I think I got it right. But I'm definitely not 100% sure :) Which is sort of my gripe, why is something so conceptually easy so difficult to put together? In OGL it was trivial to figure out, but D3D was much more complicated (assuming of course I got it right).

              ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

              E C 2 Replies Last reply
              0
              • D Dmitri Nesteruk

                Did you forget to shift the texture co-ordinates by 0.5f to account for the pixel-texel mismatch? :)

                J Offline
                J Offline
                Jim Crafton
                wrote on last edited by
                #7

                Yeah I found something about that, and once I put that in it definitely made a big improvement.

                ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

                1 Reply Last reply
                0
                • J Jim Crafton

                  No. Not 100% sure, but based on what I could dig up for D3D, I think I got it right. But I'm definitely not 100% sure :) Which is sort of my gripe, why is something so conceptually easy so difficult to put together? In OGL it was trivial to figure out, but D3D was much more complicated (assuming of course I got it right).

                  ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

                  E Offline
                  E Offline
                  El Corazon
                  wrote on last edited by
                  #8

                  for that you would have to go back to the origins. OpenGL was born from IrisGL of the old SGI machines. IrisGL was only designed for SGI hardware and OpenGL was a combined effort of several graphics groups with SGI in the lead position. Because of changes within SGI and new higher end graphics hardware with imaging systems very different from the previous generations. For this reason SGI had very good reasons for pushing very general but very powerful succinct api commands. Direct3D was born of directX which was born of MFC age. Direct3D was designed to interface well at the window level of the Windows architecture whereas OpenGL knows nothing about any of its host systems. Thus Direct3D was already burdened with host compatibility issues. Had SGI in their commanding role of OpenGL pushed for Xwindows styling and Motif burdens, you would be struggling with it as well. DirectX is close to Windows, OpenGL close to hardware. The designs reflect very different beginnings. OpenGL knows nothing about 2D. But DirectX/Direct3D does. Windows drivers include 2D acceleration portions for GDI as well as 3D portions. In the beginning of graphics this was smart as 2D was still faster than 3D. but today is very different. you can get upwards of 10x improvement by activating 3D instead of 2D on most hardware. Thus you can very easily make a slow routine by not using the right method for your hardware. :)

                  _________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."

                  1 Reply Last reply
                  0
                  • J Jim Crafton

                    No. Not 100% sure, but based on what I could dig up for D3D, I think I got it right. But I'm definitely not 100% sure :) Which is sort of my gripe, why is something so conceptually easy so difficult to put together? In OGL it was trivial to figure out, but D3D was much more complicated (assuming of course I got it right).

                    ¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog

                    C Offline
                    C Offline
                    cpkilekofp
                    wrote on last edited by
                    #9

                    Jim Crafton wrote:

                    Which is sort of my gripe, why is something so conceptually easy so difficult to put together?

                    LMAO, the Devil is ALWAYS in the details.

                    1 Reply Last reply
                    0
                    Reply
                    • Reply as topic
                    Log in to reply
                    • Oldest to Newest
                    • Newest to Oldest
                    • Most Votes


                    • Login

                    • Don't have an account? Register

                    • Login or register to search.
                    • First post
                      Last post
                    0
                    • Categories
                    • Recent
                    • Tags
                    • Popular
                    • World
                    • Users
                    • Groups