[Please vote] Knowledge, Usage and Future of Ogre's RTSS

News, announcements and important global threads from the Ogre3D Team.

Are you aware of Ogre's RTSS and do you use it in your projects? If not, shy?

I use / have used it.
44
15%
I know how to use Ogre's RTSS, but haven't utilized it so far because ...
27
9%
I am aware of Ogre's RTSS, but don't know how to use it.
156
54%
Never heard of Ogre's RTSS so far.
64
22%
 
Total votes: 291

al2950
OGRE Expert User
OGRE Expert User
Posts: 1227
Joined: Thu Dec 11, 2008 7:56 pm
Location: Bristol, UK
x 157

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by al2950 »

PhilipLB wrote:When writing the triplanar texturing SRS, the hardest part was actually to debug syntax errors in the CG code. The RTSS just asserts with something very general ("could not create render state" or so). So I put breakpoints all over the RTSS to find the origin and then found out that it was actually a syntax error causing this. And syntax errors can not only occure in the actual shader file, but also with wrong usage of the (Uniform)ParameterPtr.
Thanks for the feedback, and also congratualtions on your recent work :)
spacegaier wrote:could you post a link to the mentioned discussion you and Mattan started
The most recent discussion can be found here; http://ogre3d.org/forums/viewtopic.php?f=4&t=69507. Its a bit of a lengthy read and does have links to some older posts, but it should be an interesting read for anyone heavily involved in the RTSS.

Further to points pointed out in those posts, I have more recently had an urge to experiment with deferred shading techniques, and as a result i want to make the render states more flexible (NB not SRS). At the moment, when you create a RTSS render state it always emulates FFP. However I would like to create one that can create a G-Buffer & L-Buffer, but make it so it can be very configurable, and therefore easier to play with different Deferred ideas. :)
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by duststorm »

PhilipLB wrote:When writing the triplanar texturing SRS, the hardest part was actually to debug syntax errors in the CG code. The RTSS just asserts with something very general
I guess it would be very helpful to let RTSS spit out error messages with the exact CG compiler error, like the regular CGProgamManager does.

Outputting the generated shader to file and running cgc manually on it is also feasible, of course.


Quote from Nir Hasson in the original RTSS announcement:
Nir Hasson wrote:Implement visual shader editor that will enable to artist with zero knowledge in shading languages to create shader based materials.
This would also be a good step in the direction of a wider acceptance of the RTShader system.
This could be incorporated of a GUI-based material editor for Ogre, on one hand, another idea is a tool for easier shader development allowing visual debugging and runtime shader (re)compiling.
Maybe an idea for a future GSoC? :)


One extra thing I wanted to mention. There is a lot of documentation about how to set RTShader settings in material files here: http://www.ogre3d.org/forums/viewtopic.php?f=4&t=52417
Developer @ MakeHuman.org
User avatar
chaosavy
Silver Sponsor
Silver Sponsor
Posts: 578
Joined: Mon Jun 15, 2009 8:29 pm
x 64
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by chaosavy »

I voted - aware but don't know how to use it.

However many times with Ogre how to use it is just a matter of looking through the demo. I'm guessing that down the line I'll look into it and use whatever I can :) Still focusing on gameplay elements in my project.
Visit http://www.VoidDestroyer.com to check out my space sim project - Void Destroyer
User avatar
Klaim
Old One
Posts: 2565
Joined: Sun Sep 11, 2005 1:04 am
Location: Paris, France
x 56
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Klaim »

I've read and been aware of this feature but couldn't work on 3D code for a long time. Now I'm back on it so I should use it very soon.
User avatar
Mattan Furst
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 260
Joined: Tue Jan 01, 2008 11:28 am
Location: Israel
x 32

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Mattan Furst »

I have previously written a post on things that I thought needed to be done in the RTSS to improve it's ease of development here: http://www.ogre3d.org/forums/viewtopic.php?f=4&t=69507.
I have other 2 dozen custom sub-render states where I work. Given that some of the changes I mentioned required breaks in compatibility which meant I would have needed to re-write them, I was relactent to start the project and after a while forgot about it.

I would add to the list that I already wrote in the previous post (non-compatibility breaking):
  1. As other people mentioned documentation on how to use and RTSS scripting .
  2. Extend the current implemenetation of the texture SRS. It should:
    1. support all texture polling mechnism. including the new tri-planar texturing.
    2. it should support polling texture information for non-coloring purpuses. for instance getting the color of a normal map for preperation to another SRS. (more on this on number 3)
    3. The texturing SRS should be less sensitive to texture coordinate input parameters. For instance, if a texture parameter of size 3 or more is defined for a 2d texture. The SRS throws an exception.
  3. The diffrent sub-render states need to be more integrated. For instance the current normal map SRS has 3 seperate jobs: It polls the information from the normal map texture. changes the normal according to the polled value. Then it calculates the lighting effect for the pixel. A proper implementation should be that a texturing SRS should be the one to poll the texture. The normal map SRS should only change the normal's direction according to the polled value. Than the a diffrent SRS such as the "per pixel lighting" SRS should the normal in its calculation.
I think I'll start working on these ideas again.

Update:
Didn't notice somebody already posting a link to my old post.
it's turtles all the way down
PhilipLB
Google Summer of Code Student
Google Summer of Code Student
Posts: 550
Joined: Thu Jun 04, 2009 5:07 pm
Location: Berlin
x 108

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by PhilipLB »

Point 3 kept me off doing the normal mapping for the triplanar texturing. A SRS-step for only manipulating the (texturespace?) normal would make this very easy. :)
Google Summer of Code 2012 Student
Topic: "Volume Rendering with LOD aimed at terrain"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Mattan Furst


Volume GFX, accepting donations.
User avatar
Mattan Furst
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 260
Joined: Tue Jan 01, 2008 11:28 am
Location: Israel
x 32

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Mattan Furst »

Point 3 kept me off doing the normal mapping for the triplanar texturing.
I actually almost implemented it once, however implementating it meant that the shaders would have been slightly less efficient and it would have also broken compatibility. After a short discussion I was instructed by the community to just keep the old method. I ended up doing it as a custom propitiatory SRS. Now thinking about it I probably should have insisted on it more.
it's turtles all the way down
PhilipLB
Google Summer of Code Student
Google Summer of Code Student
Posts: 550
Joined: Thu Jun 04, 2009 5:07 pm
Location: Berlin
x 108

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by PhilipLB »

Maybe some lightweight API optimizations for 1.9 as proposed and bigger, backward compatibility breaking changes for 2.0?
Google Summer of Code 2012 Student
Topic: "Volume Rendering with LOD aimed at terrain"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Mattan Furst


Volume GFX, accepting donations.
User avatar
syedhs
Silver Sponsor
Silver Sponsor
Posts: 2703
Joined: Mon Aug 29, 2005 3:24 pm
Location: Kuala Lumpur, Malaysia
x 51

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by syedhs »

I once used RTShader and it generated better shadow ie sharper edges, less 'swimming' effect but there is a bug (of which I cannot fathom the reason, and cannot exactly locate the offending lines) that can suddenly dive down FPS a lot.. eg from 60FPS going down to 15 for a few seconds, and then resume normal which was very strange. I debugged the software for almost a week and then I found that the symptom happened after I put in RTShader. The bug was no longer there when I disabled RTShader and put in the shader manually. I asked in Developer Forum and no one can actually answer.

The thread is here: http://www.ogre3d.org/forums/viewtopic. ... 08#p428508.

I will definitely give it a spin once 1.9 is out :mrgreen: Other than the issue above, RTShader definitely makes shader programming a piece of cake.. :)
A willow deeply scarred, somebody's broken heart
And a washed-out dream
They follow the pattern of the wind, ya' see
Cause they got no place to be
That's why I'm starting with me
bstone
OGRE Expert User
OGRE Expert User
Posts: 1920
Joined: Sun Feb 19, 2012 9:24 pm
Location: Russia
x 201

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by bstone »

syedhs wrote:Other than the issue above, RTShader definitely makes shader programming a piece of cake.. :)
Cakes make you fat really quick whereas coding shaders makes you exhausted and slim :wink:
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by duststorm »

bstone wrote:whereas coding shaders makes you exhausted and slim
And here I was, thinking that coding made you fat ;)


On a more related note, I've been getting not-very-informative exceptions from RTSS when using rtshader_system material definitions, the likes of this

Code: Select all

An exception has occured: OGRE EXCEPTION(2:InvalidParametersException): Could not create gpu programs from render state in ProgramManager::acquireGpuPrograms at OgreShaderProgramManager.cpp (line 112)
Thinking that it could be related to cg profile restrictions (linux with an intel graphics card), I tried changing the target language to glsl. Unfortunately that didn't help.

I can reproduce it with this material:

Code: Select all

material RTSS/NormalMapping_SinglePass
{
        technique
        {
                pass
                {
                        specular 1.0 1.0 1.0 32
                        
                        texture_unit
                        {
                                texture Panels_Diffuse.png
                        }                               
                        
                        rtshader_system
                        {               
                                lighting_stage normal_map Panels_Normal_Tangent.png tangent_space 0 bilinear 1 -1.0
                        }                       
                }                               
        }
}
Comment out the specular and it works (both in glsl and cg), put it in and I get the exception.

Guess I'll have to dig a bit deeper to find my answer.
Is there someone that knows what might be wrong. This might also be one of these aforementioned cases where RTSS could benefit from more descriptive error messages.
Developer @ MakeHuman.org
Arkiruthis
Gremlin
Posts: 178
Joined: Fri Dec 24, 2010 7:55 pm
x 10

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Arkiruthis »

The first time I came across the RTSS was in the Ogre iOS templates and had no idea what it was, so I ignored it. I just had a look at the Wiki article on it and can't wait to get stuck in tomorrow with some sample code. So if nothing else, this thread was a good idea on an educational front! :D

duststorm: Just looking at some code output from Blender Exporter here... what happens if you change your specular line to have an extra 1.0?

e.g., specular 1.0 1.0 1.0 1.0 32

I have no idea if specular requires an alpha value, but my material scripts all seem to have the 4th value included...
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by duststorm »

Arkiruthis wrote:what happens if you change your specular line to have an extra 1.0?

e.g., specular 1.0 1.0 1.0 1.0 32

I have no idea if specular requires an alpha value, but my material scripts all seem to have the 4th value included...
Alpha in specular is allowed, but should not be required. Anyway, I tried both with and without, and that didn't change things.
Developer @ MakeHuman.org
TheSHEEEP
OGRE Retired Team Member
OGRE Retired Team Member
Posts: 972
Joined: Mon Jun 02, 2008 6:52 pm
Location: Berlin
x 65

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by TheSHEEEP »

Personally, I was aware of it, but also never used it due to the lack of examples, tutorials, etc.

Also, I'm trying to get into shaders more, meaning actually understanding what's going on, being able to write advanced shaders myself, etc.
And there, I think an additional layer of indirection would hinder the learning experience.

Someone who does know a lot about shaders already would probably profit quite a lot from using the RTSS; even more than someone who doesn't want to get into shaders too deep (very understandable :D).
My site! - Have a look :)
Also on Twitter - extra fluffy
oiram
Halfling
Posts: 87
Joined: Sun Dec 13, 2009 5:06 am
x 6

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by oiram »

I'am working on ES2 that means RTSS is indispensable to me.
However I just copy code from sample and use RTSS to generate shader code for FF pipeline.
I think we need more sample and manual with RTSS for use correctly.

RTTS is great, thanks!
User avatar
rogerdv
Gnome
Posts: 351
Joined: Fri May 09, 2003 10:43 pm
Location: Cuba
x 1
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by rogerdv »

I used it in y projects, it was the only way to have normal map shaders.
By the way, Unigine has a similar (and easier) system based on inheritance. You just have to inherit your material from one in the base lib, lets say base_mesh, and then set the diffuse texture, normal map, specular map, etc.
User avatar
spacegaier
OGRE Team Member
OGRE Team Member
Posts: 4304
Joined: Mon Feb 04, 2008 2:02 pm
Location: Germany
x 135
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by spacegaier »

rogerdv wrote:I used it in y projects, it was the only way to have normal map shaders.
By the way, Unigine has a similar (and easier) system based on inheritance. You just have to inherit your material from one in the base lib, lets say base_mesh, and then set the diffuse texture, normal map, specular map, etc.
The interesting question now is whether they actually have such a flexible system as we do, meaning do they use a set of predefined ("hardcoded") shaders that then just get applied or can they - as our RTSS can - really generate them on the fly by concatenating various SubRenderStates?

If it is the first then Unigine is not the only one, e.g. Panda3D has that feature as well, but we are yet to come across a rendering engine that can do the latter :).
Ogre Admin [Admin, Dev, PR, Finance, Wiki, etc.] | BasicOgreFramework | AdvancedOgreFramework
Don't know what to do in your spare time? Help the Ogre wiki grow! Or squash a bug...
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Assaf Raman »

I don't understand why Unigine is easier, you can set all the OGRE material properties directly in the material script file, sound about the same as Unigine, I will love for some more information why Unigine is easier.
Watch out for my OGRE related tweets here.
bstone
OGRE Expert User
OGRE Expert User
Posts: 1920
Joined: Sun Feb 19, 2012 9:24 pm
Location: Russia
x 201

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by bstone »

All that Unigine material stuff sounds like the material inheritance already supported by Ogre's script compiler out of the box. So you don't even have to roll out the heavy artillery of RTSS to beat it :) I've used script inheritance and related features with great success. Very flexible stuff.
User avatar
Assaf Raman
OGRE Team Member
OGRE Team Member
Posts: 3092
Joined: Tue Apr 11, 2006 3:58 pm
Location: TLV, Israel
x 76

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by Assaf Raman »

My point was that using RTSS features like normal map - can be done directly in the OGRE script files - in an easy way.
Watch out for my OGRE related tweets here.
User avatar
rogerdv
Gnome
Posts: 351
Joined: Fri May 09, 2003 10:43 pm
Location: Cuba
x 1
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by rogerdv »

Assaf Raman wrote:My point was that using RTSS features like normal map - can be done directly in the OGRE script files - in an easy way.
Never found a shader that worked for me, and even wasnt too sure if the RTSS was achieving a perceptible normal map effect.
I should have explained a bit more about why Unigine is easier. Indeed the inheritance system is similar, but inside Unigine editor you just have to click and browse your diffuse, heigthmaps, specular map, tessellation or whatever. Also, Unigine provides a larger base library including vegetation materials, tessellated meshes and many more. Nothing that cant be done with Ogre, but requiring a shader expert.
PhilipLB
Google Summer of Code Student
Google Summer of Code Student
Posts: 550
Joined: Thu Jun 04, 2009 5:07 pm
Location: Berlin
x 108

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by PhilipLB »

Sounds like a similar system could be achieved with Ogre when it had a nice UI for the material inheritance stuff?
Google Summer of Code 2012 Student
Topic: "Volume Rendering with LOD aimed at terrain"
Project links: Project thread, WIKI page, Code fork for the project
Mentor: Mattan Furst


Volume GFX, accepting donations.
bstone
OGRE Expert User
OGRE Expert User
Posts: 1920
Joined: Sun Feb 19, 2012 9:24 pm
Location: Russia
x 201

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by bstone »

Sounds more like that's responsibility of a content creation system and not of a render engine. Otherwise from all the above it's obvious that Ogre is more flexible when it comes to materials and shaders than Unigine.
User avatar
duststorm
Minaton
Posts: 921
Joined: Sat Jul 31, 2010 6:29 pm
Location: Belgium
x 80
Contact:

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by duststorm »

But of course it would be wonderful to have a dedicated visual material editor for Ogre that uses RTSS. Together with a library of pre-defined materials, like foliage materials, maybe? :)
Developer @ MakeHuman.org
bstone
OGRE Expert User
OGRE Expert User
Posts: 1920
Joined: Sun Feb 19, 2012 9:24 pm
Location: Russia
x 201

Re: [Please vote] Knowledge, Usage and Future of Ogre's RTSS

Post by bstone »

Well, sure thing. Like all the other cool external stuff already available for Ogre or soon becoming available.
Post Reply