47 votes
Accepted

Physically based shading - ambient/indirect lighting

Real-time graphics deploys a variety of approximations to deal with the computational expense of simulating indirect lighting, trading off between runtime performance and lighting fidelity. This is an ...
Nathan Reed's user avatar
10 votes

What are the current open problems in Computer Graphics?

There is a vast amount of open problems in real-time graphics: shadows, aliasing, reflections, global illumination, transparencies (blending order and lighting) etc. SIGGRAPH annually hosts a course ...
Krzysztof Narkowicz's user avatar
8 votes
Accepted

How does vsync affect fps exactly when not at full vsync fps?

The short answer is It's Complicated™. :) A lot of factors can affect frame timing (and the associated problem of animation juddering, due to the game's animation delta-times not matching actual frame ...
Nathan Reed's user avatar
8 votes
Accepted

Subsurface Scattering Without Rays?

There are lots of ways to fake SSS with greater or lesser fidelity. A few recent-ish methods: Screen-space blurring of object lighting (described in detail here) Using “interior” ambient-occlusion ...
Noah Witherspoon's user avatar
7 votes
Accepted

Confused about prefiltering environment maps (Manson 16)

Your first quote is referring to "Split-sum approximation" presented in "Real Shading in Unreal Engine 4" by Brian Karis, and also referred in the paper [Kar13]: $$\frac{1}{N}\sum_{k=1}^N \frac{L_i(...
JarkkoL's user avatar
  • 3,626
6 votes

Physically based shading - ambient/indirect lighting

This is the main 'hard' problem remaining in real-time CG, and there is a lot of research ongoing into solving it. The biggest hurdle is that in raster graphics, each component of the scene is ...
russ's user avatar
  • 2,382
6 votes

How does vsync affect fps exactly when not at full vsync fps?

It depends on how a missed frame is handled by the driver. One option is to just wait until the next vsync, causing a hitch of 32 ms and if the application is just at the limit of 16 ms can cause ...
ratchet freak's user avatar
6 votes

How to create a patterned object with variable pattern density in real-time?

In order to ensure that the pattern shapes are always either wholly present or absent, never cut off, it's necessary to ensure that the same p value is used for all ...
Nathan Reed's user avatar
6 votes

How to implement a realtime 2D light renderer with fog/colored light on the GPU?

If your wall geometry is vector graphics you can simply extrude the segment away from the light position. This means 2 triangles per draw call, all the extrusion offsets can can be handled in the ...
joojaa's user avatar
  • 8,407
5 votes

What are the current open problems in Computer Graphics?

Computer Graphics can be divided in multiple subdomains of which I will only talk about physically-based rendering (the one I am the most familiar with and probably the one you are referring to based ...
Matthias's user avatar
  • 1,064
5 votes
Accepted

Phong: Real-time rendering of Metal and Plastic Materials

Diffuse colours on materials typically come from within the material, while the specular colour is from the very surface. Coloured plastic materials are made by embedding particles of dye inside a ...
Dan Hulme's user avatar
  • 6,770
5 votes

How can I make a graphics demo without a frame buffer?

This is a case where looking at the workings of more retro hardware would be reasonable. Older hardware had strong limitations in both memory and processing power. Your 100+Mhz chip is far faster than ...
Nicol Bolas's user avatar
  • 9,752
3 votes
Accepted

Real time image based lighting for arbitrary BRDFs coordinate alignment

The surface reflectance of a BRDF function doesn't depend on orientation or position of the surface in the world space (except for the view vector) but is defined relatively to the surface normal (or ...
JarkkoL's user avatar
  • 3,626
3 votes
Accepted

Advantages of spherical harmonics over baked vertex lighting?

Spherical harmonics are generally used for dynamic objects in your scene, while fully-baked lighting is used for static objects. A typical game engine will use both. During the GI pass, all surfaces ...
russ's user avatar
  • 2,382
3 votes
Accepted

What is better to use for real-time computing Mesh - Plane intersection points, GPU or CPU?

doing the calculation to decide whether a point is on one side of a plane or the other is very simple (a single dot product). Doing that 3 times and having a special case when they don't match to ...
ratchet freak's user avatar
3 votes
Accepted

Questions about Preconditioning Conjugate Gradient method in Baraff & Witkin 98?

Baraff and Witkin propose to incorporate constraints by modifying the linear system by the constraints matrices $\mathbf S_i$. As they state in the beginning of Section 5.2, the resulting system is ...
dweber's user avatar
  • 126
3 votes

Correct post-displacement normal calculation (Y-component and epsilon)

The Epsilon is chosen to hit the appropriated Nyquist-Frequency avoiding aliasing. It refers to the highest frequency in your heightfield function. You'll need well knowledge of the definition of your ...
TheXappy's user avatar
3 votes
Accepted

In what order to apply lighting and translucency?

When blending multiple layers, physically the "right" thing to do is calculating lighting on each layer separately, then composite the lit layers together. This way, for instance, you can have a ...
Nathan Reed's user avatar
3 votes

Selection of GI techniques working in real time

In this vein a bit, Killzone renders one bounce reflections, but uses temporal anti aliasing to combine the last frame with the current frame. In practice, this means you get MANY bounce reflections, ...
Alan Wolfe's user avatar
  • 7,791
3 votes
Accepted

Importance Sampling in Unreal Engine Formula Derivation (Irradiance term)

I just read notes on moving frostbite to pbr and I found the derivation of the method above. So I will just show the derivation here and quote some of the explanation. One can notice an extra〈n·l〉...
kevinyu's user avatar
  • 493
3 votes
Accepted

Benefits of Clustered Shading vs Tiled Shading?

Both Unity's "Deferred shading rendering path" and "Legacy Deferred Lighting Rendering Path" work only for opaque surfaces. They both rely on a very similar set of passes: Render the opaque objects' ...
bernie's user avatar
  • 830
2 votes

Projected grid water horizon detail

The technic what Benedikt mentioned is explained in Section 2.4.1 of this thesis. http://fileadmin.cs.lth.se/graphics/theses/projects/projgrid/projgrid-lq.pdf Implementing this should solve your ...
TheXappy's user avatar
2 votes

How can I create a bounding volume hierarchy for constantly moving objects?

I'd like to add some practical perspective to this. Let me preface that I'm operating on limited information here: I don't know how many objects you are dealing with. I don't know what exactly your ...
Tara's user avatar
  • 121
2 votes

What framework shoud I use to implement the RAISR upscaling algorithm on the GPU?

Are there algorithms that cannot be implemented this way and have to be implemented in OpenCL, and if so, how do I know if my algorithm is one of them? Yes. Generally scatter-gather algorithms work ...
user1118321's user avatar
  • 3,401
2 votes

Which technique is fast to generate real-time reflections?

Usually modern game engines use Screen Space Reflections which is some kind of screen space raymarching. Basically, a simple way to achieve this is to shoot rays from the G-buffer. This means you use ...
CpCd0y's user avatar
  • 176
2 votes

light probe (for global illumination) placement techniques?

Looking for answer for similar question, I found that work: http://www.cse.chalmers.se/~uffe/xjobb/bowald_final_master_thesis_v2.pdf It is based on automatic grid placement which depends on scene ...
mdkdy's user avatar
  • 2,159
2 votes

What exactly is it about reality that is so difficult to recreate in a 3D simulation?

As @AnnoyinC already mentioned in his comment, we are simply lacking computational power and storage requirements (RAM). For the visual effects, you need to calculate every ray of light that somehow ...
wychmaster's user avatar
  • 1,251
2 votes
Accepted

What can be reduce in peripheral circle and increase in foveated cirle?

Actually it's not that new of an idea -- it goes back to at least 1996. I strongly suggest reading Microsoft Research's Foveated 3D Graphics. (click 'View publication' and read the full pdf) In a ...
Wyck's user avatar
  • 410
1 vote
Accepted

Radiosity normal map light baking

The lightmap representation used in Valve's stuff, like any finite-storage representation of the surfaces response to light, is only approximate, and the error in the approximation is higher or lower ...
chris green's user avatar
1 vote
Accepted

fix over exposure in importance sampling in screen space reflections

After some testing and some research I have found that both the $\sin(\theta)$ and the $\cos(\theta)$ should be removed from the denominator. the reasoning is that, since we want a probability ...
Sebastián Mestre's user avatar

Only top scored, non community-wiki answers of a minimum length are eligible