Announcement

Collapse
No announcement yet.

Ryan "Icculus" Gordon Has Some New Tools

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ryan "Icculus" Gordon Has Some New Tools

    Phoronix: Ryan "Icculus" Gordon Has Some New Tools

    Ryan "Icculus" Gordon doesn't have any new Linux game ports to report on for now, but he does have some announcements concerning some open-source development tools he's been working on recently for some of the Linux ports of the Humble Indie Bundle game titles...

    Phoronix, Linux Hardware Reviews, Linux hardware benchmarks, Linux server benchmarks, Linux benchmarking, Desktop Linux, Linux performance, Open Source graphics, Linux How To, Ubuntu benchmarks, Ubuntu hardware, Phoronix Test Suite

  • #2
    "UT3" is a bad word on Linux forums. It's not nice. Stop.

    (however, new dev tools are nice)

    Comment


    • #3
      I was about to be excited, but the tools are (currently) lacking a few very important features. The MojoShader library only handles precompiled shaders, not source, so it's not able to replace Microsoft's tools during development. TheoraPlay does not yet support Windows, so it can't be used for a multi-platform game in current development. MojoDDS lacks any form of documentation whatsoever, so I'm not sure what exactly it even supports, and whether or not it can be used for the .dds file I have laying around or not (for example, many FOSS .dds libraries I've seen lack cubemap support, which can be pretty important for 3D games; no idea if MojoDDS does or doesn't).

      Let's hope more game devs pick these up and contribute back to these projects to bring them up into the level of general usefulness that libraries like SDL have.

      Comment


      • #4
        I thought there were easy theora libs? http://sourceforge.net/projects/libtheoraplayer/

        Not that I have used it, could be it was insufficient for some reason or other.

        Comment


        • #5
          Originally posted by elanthis View Post
          I was about to be excited, but the tools are (currently) lacking a few very important features. The MojoShader library only handles precompiled shaders, not source, so it's not able to replace Microsoft's tools during development.
          If you are developing HLSL (vs trying to run HLSL someone developed for an existing windows app), Microsoft's compiler is probably the right choice. Tho I guess Nvidia cg can compile it as well, I'm not sure how good of a developer tool it is.

          Comment


          • #6
            Question for anybody who knows the answer...

            So those Microsoft DDS files support S3TC.. If you convert the DDS to PNG using Imagemagick, all things being equal (no other changes), are you forfeiting S3TC completely? If so, I can understand why Ryan did things the way he did.. Otherwise, I'm pretty lost as to why go through all that trouble to use Microsoft's DDS in a Linux game??
            Last edited by Sidicas; 06 January 2012, 03:29 PM.

            Comment


            • #7
              If the gpu driver can't recompress, then yes, converting to png means losing s3tc. If it can, it would be quality loss just as encoding mp3 to vorbis.

              Comment


              • #8
                Originally posted by Sidicas View Post
                Question for anybody who knows the answer...

                So those Microsoft DDS files support S3TC.. If you convert the DDS to PNG using Imagemagick, all things being equal (no other changes), are you forfeiting S3TC completely? If so, I can understand why Ryan did things the way he did.. Otherwise, I'm pretty lost as to why go through all that trouble to use Microsoft's DDS in a Linux game??
                You _would_ be forfeiting S3TC; PNGs use a different compression that GPUs don't natively understand, so we'd have to decompress it ourselves and store it in video memory uncompressed. S3TC data just gets uploaded as-is, and the GPU knows what to do with it in its compressed form. For drivers that support S3TC (which _should_ be all of them, even though it definitely isn't), we'd have to eat more video RAM that necessary if we did this.

                Also, you'd have to store the mipmaps in a separate .png for each level, which gets annoying quickly (any given texture would be somewhere between 1 and 10 png files).

                More importantly: I would much rather use the original game data if at all possible, and this is what the Windows version of Shank shipped with. If I could have written a CRI Video decoder, I would have done that instead of convert to Theora.

                --ryan.

                Comment


                • #9
                  Originally posted by elanthis View Post
                  I was about to be excited, but the tools are (currently) lacking a few very important features. The MojoShader library only handles precompiled shaders, not source, so it's not able to replace Microsoft's tools during development.
                  I'm working on this, but it turns out writing a compiler is hard!

                  The current MojoShader source parses HLSL, does semantic analysis, and turns it into an IR, but I haven't gotten down to optimization or even actual codegen yet. So I've solved 75% of the problem, and have like 190% to go.

                  It _does_ support assembly source code, but obviously nothing new uses this. I built that in hopes that I could get Cg to handle the HLSL code and I'd handle the rest, but Cg is sort of disappointing here, too.

                  Originally posted by elanthis View Post
                  TheoraPlay does not yet support Windows, so it can't be used for a multi-platform game in current development.
                  This is easy to fix, I just didn't have an immediate need for it on Windows, so shipping several games at once took precedence. It should just needs a handful of pthread calls replaced.

                  Originally posted by elanthis View Post
                  MojoDDS lacks any form of documentation whatsoever, so I'm not sure what exactly it even supports, and whether or not it can be used for the .dds file I have laying around or not (for example, many FOSS .dds libraries I've seen lack cubemap support, which can be pretty important for 3D games; no idea if MojoDDS does or doesn't).
                  MojoDDS lacks that, but right now this is just the bare minimum I needed. It's more of a useful function than a proper library at the moment. That will all come later.

                  --ryan.

                  Comment


                  • #10
                    MojoShader looks interesting, I could have used it a while back when I was working on some stuff to do with compiled shader files for something.
                    It also looks like it might be of value for use as part of a d3dx replacement for Wine.

                    Comment

                    Working...
                    X