Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 07 Feb 2009
Offline Last Active Today, 08:00 AM

Topics I've Started

Need ideas for 3D graphics thesis

25 February 2015 - 08:35 AM

I have to write a thesis for graphics programming and I need ideas for a couple of effects to implement in a demo and describe.

I'm thinking of relatively simple effects such as the following :


Bump Mapping

Parallax Occlusion Mapping

Deferred lighting

Screen space atmospheric scattering

Edge, silhouette detection,  cartoon rendering, etc..


Can you please guys suggest me some more effects I can implement and descrtibe ? I don't want to run out of ideas.

If you back up your suggestions with some links and papers, you will be priceless :)


Thank you.

Deploy a DirectX 9.0 application through Wine on Linux

17 September 2014 - 12:24 AM

Hello people. First of all, I hope I'm on the right division of the forum with this topic.

Ok, here's the situation :

I'm developing a  Direct3D 9.0 game on Windows and it's all good. Lately I started thinking about making it cross-platfom. I need it to run on Linux and eventuallty Mac OSX. I installed Ubuntu on my rig as a second boot, installed Wine + Winetricks and found out my DirectX 9.0 game runs just fine on Ubuntu under Wine.

Now my question is - Is it a good idea to deploy a 3D application ( or any arbitrary application) on Linux using Wine. I mean, forcing users to install Wine and run it through it ?

As Wine could install some Microsoft components and libraries, such as Visual C runtime libraries, MS windows dlls which are part of the operating system, am I looking for trouble and legal issues if doing it that way ?

Does anybody deploy a Windows application on Linux using Wine and is there some way to make the instalation and configuration automatic in order to not force the user to install Wine beforehand manually ?

Global illumination raving's

25 September 2013 - 12:56 PM

Ok guys, I'm trying to wrap my head around some global illuminations tricks and I have some questions.


Since I'm planning to use DirectX 9.0c which doesn't support rendering to volume texture I indent to use a 2D unwrapped version ( for example 1024x32) and use it as a render target. So far, so good.

About propagation technique, I have this idea : instead of propagating the light energy through a volume in the shader, I plan to simply render some kind of hemispherical geometry ( probably instanced ) with some kinf of gradient texture applied to it, to simulate light fading to the distance.

I mean, I have this hemispherical mesh and when I generate my VPL's positions, normals and colors, I simply render such a mesh in that position , oriented torwards the normal and using appropriate color. As a render target I'm planning to use the unwrapped texture, mentioned above 1024x32, and camera looking straight down with ortho prpjection to render every vertical slice of the scene to a part of that 1024x32 texture, while offseting the viewport accoringly. In total 32 vertical slices. I should adjust the near and far clip planes in order to render hemispheres that fall in that horozintal slice. I will probably run into issues, because if slices are too thin, and my hemispheres are too large, they will be clipped by the near and far clipping planes and nothing will be renendered even if I disable backface culling. 

How can I cope with this problem  ? Should I fill the hemisperes with "geometry" too. so if clipped by the planes the inside vertices still to be rendered ? Should I study Point based rendering, or there is something neat and easy I'm missing ?

As a result, a should have a 1024x32 texture, which would contain the bounced light of the scene as horizontal slices.

Because I'm using a 2D texture I can't make use of hardware trilinear interpolation as with volume textures. I need to do this on my own, sampling every rendered pixel 18 times for "nearby" texels and averaging them, which seems slow.

Can I instead copy the 2D 1024x32 texture to a volumetexture, and make use of hardware interpolation between adjacent texels ?

Can I do it at onces, not slice by slice..? I hope memory layout of same pixel format 2d and volume textures are the same..

So I can simply lock the volume texture, lock the 2d texture and memcpy the bytes...


Should I take different route to GI instead, under DirectX 9.0 ?


Thanks for your help, in advance.


Global illumination techniques

30 June 2013 - 06:47 AM


Recently I was wondering how modern game engines simulate global illumination these days. I'm watching for example this walkthrough "The Last Of Us" and I had to say that inddor environment is rendered very nicely. Sun light comming from the window is illuminating the rooms naturally and  bouncing off surfaces.

Here is a video of what I'm talking about :



Is it good old lightmaps ?

Spherical harmonics in pixel shader

15 April 2013 - 12:16 PM

Hello guys.

Recently,  I started looking to add realism to my scenes (mostly indoor ). I have a deferred renderer and I'm happy with it, but every time I look at some globally illuminated scenes and I realize how much the proper lighting contributes to realism. So I started looking to add some form of real-time global illumination to my scenes and choose to play around with some form of precomputed radiance transfer and light probes.

I put a camera in a corner, made it render around six times to fill a cubemap and capture the surrounding illumination.

Now I want to use that cubemap to sample it from my deferred lighting pass , using my pixels normals to find out what color is near that point and eventually bleeding to it. That part works as espected, but durring my research I read about compressing the low frequency illumination on a sphere using spherical harmonics. Luckily, D3DX has nice utility functions to compute spherical harmonics from a cube map. Now the questions so far a two :

Am I on the right track with this ? As I can see from other demos, the compute spherical harmonics per vertex ? I tend to do it in my deferred lighting pass per pixel ?

How to sample a spherical harmonics "matrix" ( a set of float values ) using my direction normal to get the illumination value at that point ? I now sample my cube maps with my direction normals, but I want to use spherical harmonics to store the data more efficiently.


Thanks in advance.