Results 1 to 10 of 10

Thread: Ryan "Icculus" Gordon Has Some New Tools

  1. #1
    Join Date
    Jan 2007
    Posts
    15,659

    Default 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...

    http://www.phoronix.com/vr.php?view=MTAzNzQ

  2. #2
    Join Date
    Nov 2008
    Posts
    118

    Default

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

    (however, new dev tools are nice)

  3. #3
    Join Date
    Nov 2007
    Posts
    1,024

    Default

    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.

  4. #4
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,337

    Default

    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.

  5. #5
    Join Date
    Dec 2009
    Posts
    12

    Default

    Quote 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.

  6. #6
    Join Date
    Jun 2011
    Posts
    316

    Default

    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; 01-06-2012 at 03:29 PM.

  7. #7
    Join Date
    Feb 2008
    Location
    Linuxland
    Posts
    5,337

    Default

    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.

  8. #8
    Join Date
    Feb 2008
    Location
    Charlotte, NC
    Posts
    26

    Default

    Quote 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.

  9. #9
    Join Date
    Feb 2008
    Location
    Charlotte, NC
    Posts
    26

    Default

    Quote 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.

    Quote 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.

    Quote 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.

  10. #10
    Join Date
    Oct 2008
    Posts
    104

    Default

    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.

Posting Permissions

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