AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #40 on: November 14, 2009, 08:00:43 PM » |
|
Added the initial actor stuff.
[click for 1920x1200]
|
|
|
|
« Last Edit: February 04, 2010, 02:06:27 PM by AriusEso »
|
Logged
|
-...-  
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #41 on: November 28, 2009, 05:50:43 PM » |
|
Started the material buffering. So far I have only added an implementation of NVIDIA's lambskin.
[click for the 1920x1200]
[Standard Material]
[Lamb Skin Material]
Currently this works only on a per-group basis, but later I will allow for per-pixel materials -- so for example you could one part of a texture be metal and another part skin.
I am adding cubic reflection( both realtime and designtime maps ) and screen-spaced refraction as material properties also.
|
|
|
|
« Last Edit: February 04, 2010, 02:06:13 PM by AriusEso »
|
Logged
|
-...-  
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #42 on: February 04, 2010, 02:05:29 PM » |
|
 Still working on this, just wanted to make things more efficient. I had to essentially start from scratch in order to do this. So I guess this is revision 2  . I'm aware the old screens have vanished, I switched servers and didn't back up all the old images and videos. Here is where I am so far on rv2. I have reduced the rendering load, instead of everything rendering 5 times it now renders only twice. Buffer: float4(normals.xy, 0, depth) The positional data is reconstructed from the depth and the normals are recalc'ed from the x and y. The blank channel will hold some hdr multiplier value when I'm done. I will probably do this both as a simple value in the material and as a texture map( so you could over-bright certain areas etc, like an emissive map ). The lighting is now stored in a buffer, so the geometry can be rendered in forward with pretty much any shader you want. I still intend to do some default mats and the like, but I like the idea that now I can just set a shader on something. This also means that AA can now take effect. Current material is a simple parallax with local occlusion maps. [click for larger]  Two maps:   Produces following 2-tri plane output( 16x AA ):    I am a lot happier with the rendering line working in this manner, to say nothing of my core being a lot cleaner now. Here are the things I have planned and the deadlines, whether or not I hit those deadlines I dunno, but hopefully. It's certainly the order in which I intend to add things. #1: Mesh rendering. 4th February 2010. Complete. #2: Point lighting. 4th February 2010. Complete. #3: SSAO implementation. 11th February 2010. #4: SSCB( colour bleed, fake GI ) implementation. 14th February 2010. #5: HDRR implementation. 21st February 2010. #6: Point shadowing. 25th February 2010. #7: Terrain rendering. 28th February 2010. #8: Directional lighting. 2nd March 2010. #8: Actor rendering. 4th March 2010. #9: PhysX rigid implementation. 14th March 2010. #10: PhysX visual debugger output. 14th March 2010. #11: Additional materials. 30th March 2010. #12: Hardware instancing. 20th April 2010. #13: Particles, soft and hard. 5th May 2010. #14: FMOD Base, music loops. 15th May 2010. #15: Directional shadowing. 15th June 2010. #16: Atmospherics, fog, god rays etc. 15th July 2010. #17: PhysX cloth implementation. 25th July 2010. #18: PhysX soft body implementation. 10th August 2010. #19: PhysX wind, part of atmospherics. 20th August 2010. #20: FMOD, 3D sounds. 30th August 2010. #21: PhysX fluids/particles. 25th September 2010.
|
|
|
|
|
Logged
|
-...-  
|
|
|
uncasid
Community Member

Posts: 109
|
 |
« Reply #43 on: February 04, 2010, 06:54:08 PM » |
|
nice! I can't wait for this to come out!
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #44 on: February 05, 2010, 12:50:54 AM » |
|
It's a start.  [click for large]  Sorry about the darkness of it, wip. No blurring or anything yet, that's pure ssao buffer.
|
|
|
|
|
Logged
|
-...-  
|
|
|
|
Shadowsong
|
 |
« Reply #45 on: February 05, 2010, 03:21:47 AM » |
|
OMFG How did you do that?? Did I get this right? You only have 1 single buffer now instead of the MRT?? And how do you render the geometry in forward? I mean, you still have to fill your buffer with something don't you? My first guess is this: - render geometry to G-Buffer - render geometry in forward with any shader as normal (and with AA!) - Blt the main buffer to a texture which then is used as the color map for the light rendering Am I anywhere near? And what does this mean: "The lighting is now stored in a buffer" ? I would so love to hear some more in-depth explanation of this  Your deadlines look like a lot of work. What is this going to be in the end anyway? A commercial TV-Game-Framework?
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #46 on: February 05, 2010, 03:49:23 AM » |
|
OMFG How did you do that?? Did I get this right? You only have 1 single buffer now instead of the MRT?? And how do you render the geometry in forward? I mean, you still have to fill your buffer with something don't you? My first guess is this: - render geometry to G-Buffer - render geometry in forward with any shader as normal (and with AA!) - Blt the main buffer to a texture which then is used as the color map for the light rendering Am I anywhere near? And what does this mean: "The lighting is now stored in a buffer" ? I would so love to hear some more in-depth explanation of this  Your deadlines look like a lot of work. What is this going to be in the end anyway? A commercial TV-Game-Framework? Lot of questions. #1: By using only the normals X/Y and calculating the Z in the lighting shader. I think the method I'm using is the same as Killzone 2. It's not flawless. The position is reconstructed from linear depth in the lighting shader. I didn't bookmark as I went along so I don't have any handy urls, but you can google around and find the information. I do remember this one though: http://mynameismjp.wordpress.com/2009/03/10/reconstructing-position-from-depth/I would offer up code, but this is my main stuff and not for public  . #2: Yes, you got it right. Although, technically I suppose 2 if you include the light buffer. But regardless, you're always going to have to dot(n, l) somewhere I guess lol. #3: Near, but not quite. I project the light buffer in the forward shaders. It's just a texture read. #4: In the end it'll be... I dunno. A collection of stuffs  . I will make it a library of some form or another. Here's a lighter one: [click for big]  Still no blur. I need to fix self-occlusion artifacts( like the floor plane ) and add a falloff so things don't occlude from a distance( like his right side on the floor ).
|
|
|
|
« Last Edit: February 05, 2010, 03:51:08 AM by AriusEso »
|
Logged
|
-...-  
|
|
|
|
Shadowsong
|
 |
« Reply #47 on: February 05, 2010, 04:12:19 AM » |
|
Wow this is so exciting  Ok so it isn't really deferred shading anymore, hm is it? Technically it is as you de-couple shading from rendering, however I guess you do it the other way round, like this: 1. Render geometry to buffer (normals.xy, 0, depth) 2. Render the lights using the buffer to a lightmap (RGB, specular) 3. Render the geometry again in "forward" using multiplying the pixel with the lightmap The question is, why? I see you only need 2 Buffers instead of an 3-MRT. However, you need to render the geometry twice instead of once. Also, you can use forward shaders and use AA. (By the way why can't you use AA in deferred again? Was it because MRTs don't support it? Forgot.). So basically: Benefits: Only 2 Buffers, Forward Shading, AA Sacrifices: Render geometry twice However there is one thing that bothers me. Let's say you use any displacement shaders, or even crazy stuff as heat haze or any other distortion. Wouldn't this only affect the color and not the normals and positions, since the buffer-shader doesn't know about this distortion? So the result would be inaccurate since the normals and positions would not get distortet... Damn this wraps my brain!
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #48 on: February 05, 2010, 04:34:28 AM » |
|
Wow this is so exciting  Ok so it isn't really deferred shading anymore, hm is it? Technically it is as you de-couple shading from rendering, however I guess you do it the other way round, like this: 1. Render geometry to buffer (normals.xy, 0, depth) 2. Render the lights using the buffer to a lightmap (RGB, specular) 3. Render the geometry again in "forward" using multiplying the pixel with the lightmap The question is, why? I see you only need 2 Buffers instead of an 3-MRT. However, you need to render the geometry twice instead of once. Also, you can use forward shaders and use AA. (By the way why can't you use AA in deferred again? Was it because MRTs don't support it? Forgot.). So basically: Benefits: Only 2 Buffers, Forward Shading, AA Sacrifices: Render geometry twice However there is one thing that bothers me. Let's say you use any displacement shaders, or even crazy stuff as heat haze or any other distortion. Wouldn't this only affect the color and not the normals and positions, since the buffer-shader doesn't know about this distortion? So the result would be inaccurate since the normals and positions would not get distortet... Damn this wraps my brain! You can't use AA because a lot of cards don't support it on those types of targets. Rendering geometry a second time is incredibly cheap when you don't have to run any lighting calculations on it. There could be problems with custom shaders in certain cases yes. But having custom shaders in a limited fashion is better than not having custom shaders, no?. For material purposes anyway. Heat haze isn't an example though  . You could do that just fine.
|
|
|
|
|
Logged
|
-...-  
|
|
|
Lenn
Customers
Community Member
    
Posts: 876
+/-
|
 |
« Reply #49 on: February 05, 2010, 08:46:37 AM » |
|
Whoa that list ends at september 2010!  That's brave, sorta.  We can wait...
|
|
|
|
|
Logged
|
|
|
|
uncasid
Community Member

Posts: 109
|
 |
« Reply #50 on: February 05, 2010, 09:35:26 AM » |
|
indeed! I would buy it!
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #51 on: February 05, 2010, 09:36:24 AM » |
|
Whoa that list ends at september 2010!  That's brave, sorta.  We can wait... Yea, some of that time line is a little ambitious. It's only to give me something to aim for. The trouble with things like SSAO is once you have the basics working you can't stop playing with it  . Heres another couple, click for the bigs. Still no blur, 16x sample -- currently runs at 350+fps @ 1920x1200. Full resolution depth and ao generation, I'm gonna try to get it running at halfsies. It looks a little soft on purpose, I'm not a huge fan of the in-your-face ssao. But I'll make it tweakable for those that are.   I'm uploading a video to demonstrate it in its current state, once youtube has finished butchering the compression I'll post an url. 
|
|
|
|
|
Logged
|
-...-  
|
|
|
|
|
|
Shadowsong
|
 |
« Reply #53 on: February 06, 2010, 01:58:09 PM » |
|
Hey looks pretty good! I like the soft look, less noticeable but more realistic.
|
|
|
|
|
Logged
|
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #54 on: February 07, 2010, 11:43:28 AM » |
|
Does anybody have a textured version of the Sponza Atrium model? Preferrably the updated Crysis one found here: http://www.crytek.com/downloads/technology/I can't seem to find it anywhere with the textures actually linked. I thought maybe the max version there, but that just crashes out max for some reason.
|
|
|
|
|
Logged
|
-...-  
|
|
|
Dimple
Community Member

Posts: 539
|
 |
« Reply #55 on: February 07, 2010, 04:04:57 PM » |
|
 I haven't downloaded them yet: 3DMax 2010 (mental ray scene setup) Objects Textures Does it only load in the mental ray scene setup? Or are you saying that it crashes when you try to load the texture? I'll look around some more for different textures. When I'm on a high speed connection my dialup just won't handle the downloads. In a reasonable lenght of time.  78meg oh my!
|
|
|
|
|
Logged
|
Using VB.NET, TV3D 6.5, VISTA ~~~~~~~~~~~~~~~~~~~~~~~
"Know how to ask. There is nothing more difficult for some people, nor for others, easier."
- Baltasar Gracian
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #56 on: February 07, 2010, 04:19:39 PM » |
|
The max one crashes when I attempt to load it.  It's so many groups and to rig them all by hand would simply be trial and error. I'm sure it must exist somewhere with the texture paths all in place as I've seen it used in youtube videos etc.
|
|
|
|
|
Logged
|
-...-  
|
|
|
Toaster
Community Member

Posts: 378
|
 |
« Reply #57 on: February 07, 2010, 05:49:38 PM » |
|
Yeah I did it all by hand but I missed some textures and stuff :p so if you end up finding one thats correctly done I'd like the file as well!
-Toaster
|
|
|
|
|
Logged
|
|
|
|
Dimple
Community Member

Posts: 539
|
 |
« Reply #58 on: February 07, 2010, 09:49:09 PM » |
|
 Arius, Found some more stuff, do you have this link? http://hdri.cgtechniques.com/~sponza/files/
|
|
|
|
|
Logged
|
Using VB.NET, TV3D 6.5, VISTA ~~~~~~~~~~~~~~~~~~~~~~~
"Know how to ask. There is nothing more difficult for some people, nor for others, easier."
- Baltasar Gracian
|
|
|
AriusEso
Customers
Community Member
    
Posts: 940
Esoteric
|
 |
« Reply #59 on: February 07, 2010, 10:16:36 PM » |
|
Sadly yes, that's the old/original version. The UV's seem broke in certain places. 
|
|
|
|
|
Logged
|
-...-  
|
|
|
|