# Tag Info

Accepted

### Albedo vs Diffuse

The short answer: They are not interchangeable, but their meaning can sometimes appear to overlap in computer graphics literature, giving the potential for confusion. Albedo is the proportion of ...
• 5,872
Accepted

### When is a compute shader more efficient than a pixel shader for image filtering?

An architectural advantage of compute shaders for image processing is that they skip the ROP step. It's very likely that writes from pixel shaders go through all the regular blending hardware even if ...
• 3,832
Accepted

### How can virtual texturing actually be efficient?

Overview The main reason for Virtual Texturing (VT), or Sparse Virtual Textures, as it is sometimes called, is as a memory optimization. The gist of the thing is to only move into video memory the ...
• 1,369
Accepted

### What is the "dipole approximation" for subsurface scattering?

The assumption underlying such model is the same as lots of other models for skin rendering; the subsurface scattering can be approximated as a diffusion phenomenon. This is good because in highly ...
• 2,468

### When is a compute shader more efficient than a pixel shader for image filtering?

John has already written a great answer so consider this answer an extension of his. I'm currently working a lot with compute shaders for different algorithms. In general, I've found that compute ...
• 790
Accepted

Image 1: A bad case of shadow acne. (Synthetic and a bit exaggerated) Shadow acne is caused by the discrete nature of the shadow map. A shadow map is composed of samples, a surface is continuous. ...
• 8,159
Accepted

### Physically based rendering and ray tracing

"Physically based" is not a very well defined term, so it's difficult to answer this question exactly. In general, "physically based" refers to the fact that the algorithm in question is derived from ...
• 2,515
Accepted

### Efficient rendering with many light sources

Yes, but you need a paradigm shift. What you are accustomed is called forward rendering. You submit your geometry and then you proceed immediately with the shading pass. In the basic forward ...
• 2,468

### Rendering equation - why unsolvable directly?

I'm sadly not able to add a comment to the answer above (not enough reputation), so I will do it like this. I'd like to point out that what Dragonseel describes is simply an integral equation (...
• 304

### How can virtual texturing actually be efficient?

Virtual Texturing is the logical extreme of texture atlases. A texture atlas is a single giant texture that contains textures for individual meshes inside it: Texture atlases became popular due to ...
• 3,502

### Rendering equation - why unsolvable directly?

The rendering equation is as follows: Now, the integral is over the sphere around the point $x$. You integrate over some attenuated light, incoming from every direction. But how much light comes in? ...
• 1,750

### Correct Specular Term of the Cook-Torrance / Torrance-Sparrow Model

I would trust Pharr and Humphreys on this. Equation 2 also agrees with the SIGGRAPH Physically Based Rendering course notes, as well as with equation 20 in the Walter et al paper that introduced the ...
• 23.7k

### How to achieve gimbal lock with Euler angles?

A gimbal is a pivoted support that allows you to rotate around one axis. Now it so happens that Euler rotations* work like a set of 3 gimbals attached to each other,...
• 8,159
Accepted

### For shader math, why should linear RGB keep the gamut of sRGB?

Talking about Linear RGB must be avoided because it does not tell you anything about the RGB colourspace intrinsics, i.e., Primaries, Whitepoint and Colour Component Transfer Functions. A few years ...
• 246
Accepted

### Why do Vertex Buffer Objects improve performance?

In general, when you render an object in an immediate mode—issuing line drawing commands for instance—you build up a series of commands that you submit to the graphics card to draw. If you're drawing ...
• 424

### Avoiding z-fighting with coincident surfaces

If the surfaces are exactly co-planer, your fate is up to the FPU gods; you'll more than likely have Z-fighting. If the triangles are identical and you do the exact same math to each, you will end up ...
• 3,502
Accepted

### What are some methods to render transparency in OpenGL

A set of techniques to avoid explicit ordering go under the name of Order Independent Transparency (OIT for short). There are lots of OIT techniques. Historically one is Depth Peeling. In this ...
• 2,468
Accepted

### How does the rendering equation incorporate shadowing

Light that is blocked will mean that $L(p*, -w_i)$ under the integral is 0 plus how much light the blocking object itself reflects. In other words the shadowing is embedded in the incoming light ...
• 5,800
Accepted

### How to achieve gimbal lock with Euler angles?

Rotations in 3D are normally done with matrices. The xyz Euler angles can be converted to matrices so that it can be used in the rotation. That is where something called rotation order comes in. ...
• 1,555

### Why do Vertex Buffer Objects improve performance?

There are two steps that make the VBO more efficient than immediate mode. Immediate mode (glBegin/glEnd, glVertex*, etc.) means that at each frame, you spoon feed the vertices, attribute per ...
• 4,220
Accepted

### Perspective Correct Texture Mapping

You are on the right track but what you need to do is to calculate u/w and v/w, and also 1/w for each vertex, which you interpolate linearly in screen space in your rasterizer. Then for every pixel ...
• 3,541

### Formula for the ambient light intensity of a scene?

Using an 'ambient light' term in your lighting calculations is an approximation of the indirect light reflected around the scene. Usually it's up to the artist to choose an appropriate value. There ...
• 3,502

### Is there some kind of Bresenham algorithm or equivalent for scanline rendering a rotated ellipse?

The classic book Computer Graphics: Principles and Practice (second edition) by Foley, van Dam, et al. describes such an algorithm in section 19.2. The explanation in the book seems to come from an ...
• 714

### Is there some kind of Bresenham algorithm or equivalent for scanline rendering a rotated ellipse?

All conics (including rotated ellipses) can be described by an implicit equation of the form H(x, y) = A x² + B xy + C y² + D x + E y + F = 0 The basic principle ...
• 465
Accepted

### Difference between rendering in OpenGL and 3D animation software

The main difference would be that with OpenGL in let's say a video game you will have a process called rasterization which basically takes care of determining what part of the scene you see. It needs ...
• 205
Accepted

### What methods/technologies to reduce required performance for virtual reality are there?

Avoid stereo when possible There was some research published recently measuring when users can or cannot tell whether the specular contribution, which is view point dependent, is different between ...
• 4,220
Accepted

### What is the difference in overlay and framebuffer?

As you've understood, the framebuffer is an array in memory that holds all the pixels to display on the screen. On a desktop PC, it's probably special memory on the graphics card, but in a SoC with ...
• 6,440
Accepted

### What are the use cases for multiple render passes?

Instead of listing specific use cases, I will explain the technical limitations of a render pass structure which would prevent someone from putting all of their rendering within it. The use cases ...
• 8,101
Accepted

### How do correlated samples influence the behavior of a Monte Carlo renderer?

There is one important distinction to make. Markov Chain Monte Carlo (such as Metropolis Light Transport) methods fully acknowledge the fact that they produce lots of highly correlated, it is ...
• 446