Originally Posted By: oliver2s
Looks really nice. What technique is used for shadows?

There is like this one really amazing article on cascaded shadow mapping which I pretty much implemented into Rayne which I believe is the same article jcl followed for gamestudios shadows. But I am using my own math for a bit tighter fitting shadow depth maps than what at least gamestudio does and also some basic technique to get rid of any flickering when moving the camera. The result are quite high resolution and flicker free shadows. To speed up the rendering I also experimented with layered rendering which with the help of geometry shaders would allow to draw the shadow maps with triangle culling in just one rendering pass. But it turned out that the overhead of geometry shaders is extremely bad, slowing things down a lot.
For the surface acne issues I am using a so called "slope scale depth bias" which is an extremely simple to use OpenGL and also DirectX feature which is around for a long time already.
Shadow filtering is a bigger problem and currently not really solved. What is used in the screenshots is just 2x2 percentage closer filtering (actually a bit more thanks to some hardware feature), but anything bigger will get much too slow.

Originally Posted By: MasterQ32
Hey!
The screenshots look really cool although i think the bloom is much to strong.

To continue the discussion from the WAYWO-thread:
How does your shader pipeline work? Auto generated shaders sounds nice, but what about custom shaders?

No! Everything is better with more bloom laugh I often wish the real world had more of it, although I heard that there are some ways...

I always thought that Unity did it wrong and the only correct way to support shaders is the way gamestudio handles it. But working on our own serious engine now I realized that a good solution is much more complicated than this...
What we do provide are several shader files providing some kind of functionality like one for shadows, one to include the default matrices (which otherwise gets a bit ugly if the same shader is meant to support both, single mesh rendering and instanced rendering), one for shading, one for animations and so on. Then there is one big ugly default shader using those templates to implement lots of functionality like rendering with and without lighting, with and without normal map, with and without a texture, with and without fog and a lot more and all those features can be activated with preprocessor defines. Some of those defines are then set automatically from things the engine already knows when rendering (like the existence of lights in the scene, fog or also instancing and a few more) and others can be set by the user on a per material basis. Rayne will take those defines and compile all needed shader variations which are then used for rendering.
Also when loading our custom model format, which is able to specify if a texture is a diffuse texture, a normal map or a spec map or whatever, Rayne will automatically generate a material with fitting defines.
But if you don´t want to use our default shader you can of course just write your own and assign it to a material or change the default shader or do whatever else you want.
The cool thing, other than no need to rewrite everything again and again for only slightly different shaders is, that such defines can later be made accessible in our editor and the level designer can just turn shader features on and off in whatever way he wants and it will just work by still keeping everything as optimized as possible.

Originally Posted By: Quad
@SID: DID NOT GET ANY MESSAGES.

Since so far Sid is handling the alpha testing, I am sure he will get back to you soon (if he didn´t already) tongue.