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 1 of 5 123 ... LastLast
Results 1 to 10 of 49

Thread: The RenderMonkey approach

  1. #1
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    2,833

    The RenderMonkey approach

    I've been trying to come up with a nice generic way of setting up surface materials/shaders in my renderer. A scripting system seems to be the best approach.
    It should include, for multiple passes:-
    state setup
    vertex attribute stream binding
    pixel/vertex shader binding
    texture stage setup
    additional utility texture objects
    sockets for external app defined variables (such as time, weather, animation frame)
    etc.
    Basically, I want an open ended, future proof(ish) system for setting up shaders/combiners.

    Now, I noticed the short pdf ATI produced which describes the system they use in their RenderMonkey shading system, and I've played around with RenderMonkey itself, which seems nice enough. I don't understand how I can make use of RenderMonkey, however, because it doesn't appear to export any script files etc.

    Does anyone have an opinion on the way RenderMonkey does things, or suggestions of papers/documents that I might find useful while addressing this issue?
    Thanks.
    Knackered

  2. #2
    Member Regular Contributor
    Join Date
    Jul 2002
    Location
    Austria
    Posts
    280

    Re: The RenderMonkey approach

    RenderMonkey does export a script file...well, kind of...it writes XML project file. The XML files have all the shaders' source and all the render state information you need to render the scene. By extending that XML file with your own tags, you could add additional, application-specific information.
    I think RenderMonkey is a cool tool to develop shaders, but what I don't like about it is, that it is Direct3D-specific.

    As for other options, you could look at the effect files that DirectX 8 has. Or, of course, you can just define your own script language.

    Regards.
    XEngine - The Platform- and API-Independent 3D Engine
    with Programmable Pipeline Support: [URL=http://xengine.sourceforge.net
    My]http://xengine.sourceforge.net

  3. #3
    Junior Member Regular Contributor
    Join Date
    Jan 2001
    Posts
    194

    Re: The RenderMonkey approach

    I believe RenderMonkey may have the sort of functionality you are looking for, it just isn't easily accessible in the beta that has been released so far. RenderMonkey is a simple shader development tool like you can presently see, but it is also a plugin frame work. Virtually the entire tool is built on the plugin frame work, and it allows for additional plugins for exporting from its internal data format.

    The plugin system is not documented in the initial beta, but it is scheduled to be included in the next release. The idea of the plugins is to allow developers to adapt it to their own uses. As far as D3D versus OGL, the previewer itself is a plugin.

    I'll forward this threasd along to one of the team members to see if they can comment further.

    -Evan

  4. #4
    Senior Member OpenGL Pro
    Join Date
    May 2001
    Location
    The Round Table at Camelot
    Posts
    1,264

    Re: The RenderMonkey approach

    I just read more about RenderMonkey cuz before i didnt really know much about it other than a shader preview system. First i must say RenderMonkey ROCKS! The thing that i am pleased about is that it does _not_ require an ATI Radeon to use it, according to the sys requirements. Also i seem to remember something about RenderMonkey being able to parse RenderMan shaders, is that true? If so that's cool. One thing that i think would also be good is to be able, i guess through a plugin, would be to allow RenderMonkey to parse Cg shaders. Since the source for the Cg compiler is now available that might be able to become a reality.

    -SirKnight
    -SirKnight

  5. #5
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    2,833

    Re: The RenderMonkey approach

    Thanks for the answers.
    I too really like the way it handles, and I'm pretty sure I could make really good use of it if I had the elusive SDK that's mentioned in various web pages. Unfortunately, I need something pretty quick, as in within the next 2 weeks, so I may have to give it a miss for now.
    I've got a fair way into writing my own monkey, but it will never parse renderman scripts! That would be a very nice feature to play around with.
    Cg support? Well, that should be fairly straightforward to add, I would have thought - you can just use the existing nvidia backend - just pipe the Cg text file editable in rendermonkey through to the nvidia profile and you're done.
    The D3d vs OGL issue is straightforward too - as the constants defined in the state dialogs in rendermonkey seem to have an almost 1-to-1 equivalence with OpenGL. I can understand why ATI have held back producing a opengl preview plugin...it would have to be ATI specific, such is the mess of opengl.
    BTW, I can only get the default shader to work on my geforce4 ti, all the rest fail the pixelshader check.
    Knackered

  6. #6
    Advanced Member Frequent Contributor
    Join Date
    Jun 2001
    Location
    Denmark
    Posts
    607

    Re: The RenderMonkey approach

    BTW, I can only get the default shader to work on my geforce4 ti, all the rest fail the pixelshader check.
    All the other shaders use PS1.4. Such is the mess of Direct3D. Just kiddding, sorry.

  7. #7
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    2,833

    Re: The RenderMonkey approach

    Yep, but that's a hardware limitation, not software (ie. not Direct3d's fault, but NVidia lagging behind)

    [This message has been edited by knackered (edited 09-04-2002).]
    Knackered

  8. #8
    Intern Newbie
    Join Date
    Mar 2001
    Location
    Marlborough, MA, USA
    Posts
    44

    Re: The RenderMonkey approach

    Originally posted by SirKnight:
    I just read more about RenderMonkey cuz before i didnt really know much about it other than a shader preview system. First i must say RenderMonkey ROCKS! The thing that i am pleased about is that it does _not_ require an ATI Radeon to use it, according to the sys requirements. Also i seem to remember something about RenderMonkey being able to parse RenderMan shaders, is that true? If so that's cool. One thing that i think would also be good is to be able, i guess through a plugin, would be to allow RenderMonkey to parse Cg shaders. Since the source for the Cg compiler is now available that might be able to become a reality.

    -SirKnight
    rendermonkey can indeed compile RenderMan shaders but this functionality is not exposed in the current beta. i'm not sure when this functionality will be exposed (it's gated by DirectX 9.0). as for opengl support... you can wait for the SDK to be released and then write opengl plugins but this introduces new problems (ie. as far as i know, there is no ARB extention for fragment shaders). as someone pointed out, the render state and texture state maps very nicely to opengl state so this is another option (just read in the rendermonkey xml workspace and start setting opengl state). i'm glad to see people using the tool
    Christopher Oat
    ATI Research, Inc.
    3D Application Research Group

  9. #9
    Senior Member OpenGL Guru knackered's Avatar
    Join Date
    Aug 2001
    Location
    UK
    Posts
    2,833

    Re: The RenderMonkey approach

    If you could rush out another beta with the sdk included, I for one would be very grateful.
    After playing with rendermonkey, I've decided to dig out my old radeon 8500 to give it a proper once over - god I hope your drivers have improved since the last time I tried the damn thing, otherwise I'm in for a long night.
    Knackered

  10. #10
    Senior Member OpenGL Pro
    Join Date
    May 2001
    Location
    The Round Table at Camelot
    Posts
    1,264

    Re: The RenderMonkey approach

    You are right there is no ARB fragment shader extension yet. But that _will_ be in OpenGL 1.5 so maybe next year? Using the stardard opengl render states would be a nice option to have in there. It could be made like in that stanford paper (i think it was stanford) where a renderman shader was broken down into as many passes as needed to run in standard opengl. Of course for us NV people, we can always use nvparse w/ PS1.1.

    RenderMonkey seems so far to be a big hit and I believe it's only going to get better. It was a very smart move to design it the way it is, with the plugin system and all. Very nice.

    -SirKnight
    -SirKnight

Posting Permissions

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