Category Archives: Technology
..and it didn’t go very well… I can distinguish some features (if I move around), but it seems… wrong… It’s like only the part in the middle Y of the screen is having ambient occlusion computed more or less correctly, and I’ve been looking at this shader for almost one hour and I can’t figure […]
For the SSAO, we have to compute a basis for the points to be able to do the random sampling… My linear algebra was a bit rusted, but I found the Gram-Schmidt process to be useful for this. Basically it creates a geometric orthogonal from vectors, which define a local space, in my case aligned […]
Working on this a couple of hours at a time is not efficient, but time has been rather short lately… Anyway, added view-space normals to the renderer, so I can do the screenspace effect: It doesn’t seem very different, but it is… Anyway, I need the view-space normals because I’m using view space positions, and […]
So today I started implementing SSAO, and it was demoralizing… I was looking into my old SSAO shaders, and I decided to implement the simple version before moving towards more complex versions, and I hit the first hurdle… When I started work on my deferred renderer (which was going to be used by the SSAO […]
Today I started working on my ambient occlusion effect… I’m reading up on techniques, etc… There’s one million flavors of SSAO (ScreenSpace Ambient Occlusion) out there, but most are too sophisticated or outside of my target hardware for me to consider… Still, it’s a good idea to read up anyway, so I know what’s out […]
Today I mostly worked on getting the render to texture to work properly on OpenGL… The nice part is that I didn’t have any kind of issue with the culling, all problems were due to the lack of Z-buffer: On DirectX, if you set a render target but not set a depth buffer, it uses […]
Porting the render to texture code to OpenGL, and a lot of small problems appeared… of course… This is what I wanted as end result: This is what I get: I seem to have a lot of issues… 1) It seems I have no Z-buffering: The wall that should be to the left of the […]
Added an override system for most graphics operations… Was a bit of work, time-wise, but easy stuff! Now I can get a screen with just the actual normals: or depth (exaggerated, so we can actually notice the difference): The lines are due to the fact that the render target is just a normal 8-bit render […]
Good news, everyone! Got render to texture working (on Direct3D only for now)… Bad news… Above we should only see the normals of the scene (world space), but the player character is transparent… The reason is that it gets rendered with alpha blending, since I don’t have a global way to shut it down… Need […]
Just finished porting the per-pixel shaders to OpenGL, as well as the normal+depth shader: It was actually easier than to make the Direct3D shaders, since I already knew where the traps were! Next step is to get render to texture working on D3D and OpenGL and see if I can use the results of a […]