Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 18 Sep 2012
Offline Last Active Mar 17 2016 07:51 AM

Topics I've Started

Where is the cosine factor in extended LTE?

25 December 2015 - 07:43 AM

By expending the rendering equation, you will have a nice symmetric equation describing the light transport, please refer to the pbrt book at the page of 760. (Sorry about the large size of this equation, I've no idea how to scale it....)



What I'm wondering is that where is the cosine factor at the camera side of this equation? I never recall any renderer taking it into consideration, at least for real time rendering engine.


Take a real world example here, you are watching a movie, which is displaying a uniform white image, let's say radiance of each ray is exactly 1, obviously the ones that hit the center of the screen will reflect more lights to the viewer, while the ones hit around the edge of the screen will be a little bit darker depending on the FOV of the projector, no matter how small it is, it should be there.


So what is the real world solution for this issue? scale the radiance by a factor of 1/cos(theta)? Or totally ignore it since theta should be very small.

Why do we need to take primary ray pdf into account in light tracing?

25 December 2015 - 07:29 AM



I'm wondering why do we need to take the pdf of primary ray into account and ignore primary ray pdf in traditional path tracing.


In a bidirectional path tracing algorithm, the connected segment won't take pdf from any point to the other because those two points are generated from more earlier points. My take on it is that it is pretty similar to light tracing by connecting light sample and camera eye point. (I didn't consider anything about finite size aperture with DOF effect, maybe it is relevant.)


Appreciate for any tips.




What is a uber shader?

25 July 2014 - 08:53 AM

I'm wondering what a uber shader is. My first impression about a uber shader is putting everything in one shader and choosing the path dynamically. Does the shaders in Unreal Engine count as uber shader? They have plenty of branches in their shader code, however most of them are based on static conditions which are defined by macros during shader compiling, not run time. Do these kind of shader fall into the cateogry of uber shader? Thanks


28 January 2014 - 03:07 AM

Hi all



What it tells in the official document is quite limited, just the following line.

     Specifies software vertex processing.


So what does it mean by software vertex processing?

Does it mean that all of the vertex shader will be processed by CPU? I've totally no idea of it, however i guess it shouldn't be the case.

Or it will be very slow.


Please give me some pointers on it.




Perspective division in Vertex Shader? Is it allowed?

31 December 2013 - 02:25 AM



I've tried to append a very simple line of code onto my vertex shader which works well for everything.

The code is something like this:


output.pos /= output.pos.w;


Yes, I'm doing perspective division by myself. I knew that the hardware will do it for me right after vertex shader.

However, I want to see if anything goes wrong if it's done in vertex shader.


It turned out that everything related to this shader is wrong, not just about the vertex attribute, also the position.


So, what's wrong with that code?


Thanks in advance for your attention.