8
votes
1answer
100 views

Is there an established method of approximating dust distribution on surfaces?

Intuitively, dust settles onto surfaces at a higher rate in areas where the air flow is slower. This means instead of a surface gathering an even layer of dust, there will be more in corners - corners ...
9
votes
1answer
772 views

Why do multiple Gaussian Blurs?

Applying multiple Gaussian blurs can result in an effect that is equivalent to a stronger Gaussian blur. For instance this question says that: Is doing multiple Gaussian blurs the same as doing one ...
5
votes
2answers
2k views

How to reduce the number of draw calls when rendering one object multiple times?

Especially when rendering particle effects, the same object needs to be rendered several times with slightly modified properties. But these changes are often limited to properties like pose or ...
8
votes
1answer
4k views

Why is accessing textures much slower when calculating the texture coordinate in the fragment shader?

When using textures in GLSL, it is best to calculate the final texture coordinates in the vertex shader and hand them over to the fragment shader using varyings. ...
6
votes
1answer
2k views

How is motion blur implemented in modern realtime renderers?

When realtime renderers (such as 3d games) have motion blur, how is it usually implemented? I think I've heard something about needing to have motion vectors for each pixel but I'm not sure about ...
18
votes
1answer
1k views

Why is this conditional in my fragment shader so slow?

I have set up some FPS-measuring code in WebGL (based on this SO answer) and have discovered some oddities with the performance of my fragment shader. The code just renders a single quad (or rather ...
4
votes
1answer
279 views

How does directional Gaussian blurring work?

In image editing software, you often have the ability to do a directional blur where you can choose and angle and a magnitude of a blur. How does this actually work in practice with Gaussian blurring?...
4
votes
1answer
607 views

Is doing multiple Gaussian blurs the same as doing one larger blur?

To make Gaussian blurring a 2d image faster, I know that you can do one axis and then the other. I'm wondering though, if I did two Gaussian blurs of size $N$, would that be the same mathematically ...
11
votes
1answer
305 views

Why is it twice as expensive to make a noise function that can be tiled?

I've seen in several places that making Perlin noise loop seamlessly requires calculating it twice in slightly different ways, and summing the two results. This Perlin noise math FAQ gives a formula: ...
12
votes
2answers
806 views

How to build a decent lens/camera objective model for path tracing?

I have written a small path-tracer after learning and experimenting on smallpt. The only thing that I did not write (and understood) myself is how the initial rays are computed and fired from the ...
12
votes
3answers
531 views

Non Real Time Raytracing

I've played with real time raytracing (and raymarching etc) quite a bit, but haven't spent that much time on non real time raytracing - for higher quality images or for pre-rendering videos and the ...
4
votes
1answer
268 views

Different types of Gaussian blur?

The Gimp has two different options in how you can perform Gaussian blur: "IIR" and "RLE". What's the difference between them?
7
votes
2answers
167 views

Why is the CMYK space four sided in chromaticity charts

In chromaticity charts the CMYK color space is usually four-sided. I've lately had to read quite a few charts and it suddenly dawned to me that I don't really understand why. It has just not been ...
7
votes
1answer
727 views

Automatic generation of UV maps

Given an arbitrary triangle mesh, is it possible to automatically generate a UV mapping for it, and if so, how is it done?
7
votes
1answer
176 views

Matching a virtual camera to a physical camera

Say I've got a photograph of a scene, and measurements for part of it (eg. a room where I know the dimensions of the walls). Assuming a rectilinear lens, how would I go about setting up a virtual ...
12
votes
1answer
4k views

How is a light probe different than an environmental cube map?

Looking at a light probe texture, it looks like a blurry environment map. What's the difference between the two, how is a light probe made, and what is the benefit of it being blurry?
7
votes
2answers
104 views

How do shaped lights work?

I know how to program directional lights, point lights and spot lights. Sometimes though, people have lights that are shaped - like bars, or even a torus. How does that work from either a ray based ...
7
votes
3answers
2k views

How are volumetric effects handled in raytracing?

How are volumetric effects such as smoke, fog, or clouds rendered by a raytracer? Unlike solid objects, these don't have a well-defined surface to compute an intersection with.
5
votes
1answer
109 views

Ray-based rendering terms [closed]

There are a number of terms for rendering techniques based on the particle model of light: forward ray-tracing, reverse ray-tracing, ray-casting, ray-marching, and possibly others. What's the ...
6
votes
2answers
298 views

What is “tiled” raytracing?

I've seen mention of tiled raytracing, but haven't been able to find much on google about it. Can anyone explain what it is and how it works?
13
votes
1answer
478 views

Are lookup textures still used for anything?

I know in the not so long ago (5-10 years?) that it was popular / efficient to bake data out into textures and then read the data from the textures, often using the built in texture interpolation to ...
7
votes
2answers
117 views

Overlaying graphics on particle simulation

How can I overlay graphics on particle simulations? For instance if I am representing a liquid or gas with tons of little points how can I make those points look like a liquid or gas? Take Nvidia Flex ...
4
votes
1answer
473 views

Multiple Importance Sampling with more than one light

(Note: This has been cross posted from my ompf2 post.) Recently I've implemented Multiple Importance Sampling for the sampling of surfaces in my ray tracer. I do this by, on each intersection, ...
5
votes
1answer
297 views

Speeding up convergence: am I reinventing the wheel?

I'm trying to learn about raytracing by implementing things in Python 3. I know this is always going to be slower than something like C++, and I know the speed could also be improved by using GPU ...
6
votes
2answers
735 views

Why are inverse transformations applied to rays rather than forward transformations to objects?

When computing ray-object intersections against a transformed object, most raytracers apply the inverse transform to each ray and compute the intersection against a non-transformed object. Wouldn't ...
7
votes
2answers
755 views

Am I missing something for ambient occlusion?

I'm trying to implement ambient occlusion in Python 3 and I'm seeing shadows beneath my reflective spheres but they seem very faint. I'm not sure if that means I've missed something, or if I just have ...
11
votes
1answer
3k views

Fast antialiased line drawing

Bresenham's line algorithm is a way of drawing straight lines using only fast integer operations (addition, subtraction, and multiplication by 2). However, it generates aliased lines. Is there a ...
29
votes
4answers
1k views

Are there common materials that aren't represented well by RGB?

In graphics we use RGB and other color spaces as an approximation to the full spectrum of light wavelengths. This evidently works pretty well in general, but are there any reasonably common objects/...
7
votes
1answer
69 views

Finding a color perceptually similar to an image

I'm working on a program to use randomly-selected images as a desktop background. Now, not all images are the same shape as a computer monitor. One idea I had for dealing with this is to set a ...
12
votes
5answers
399 views

Is there a standard specification for 3D graphic representation?

I'm reading a book on computer graphics, and at some point, it shows a 3D model, created from a .dat file. Here are a few rules for the .dat file creation: Made of a list of vertex positions / faces ...
17
votes
2answers
505 views

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

Most descriptions of Monte Carlo rendering methods, such as path tracing or bidirectional path tracing, assume that samples are generated independently; that is, a standard random number generator is ...
4
votes
2answers
146 views

How can I model ink dropped into still water?

I want to be able to model an opaque liquid being dropped into a transparent liquid with sufficient velocity to cause turbulence and the resulting chaotic mixing. Assuming the two liquids are of the ...
5
votes
1answer
188 views

How to render an object that recieves shadows but does not cast them in a variance shadow mapping system?

I'm currently preparing to implement variance shadow mapping based on this article. However, one point it makes concerns me: Rendering only casters (and not receivers) into the variance shadow map ...
11
votes
3answers
347 views

How can I make my ice cubes look real?

I can model ice cubes as slightly misshapen transparent cubes with the refractive index of water, but they don't look convincing. They look like lumps of glass rather than ice. Looking at real ice ...
7
votes
2answers
365 views

Real-time translucency effect

While rendering my scene with OpenGL, I sometimes add an overlay which contains information, settings and a few draggable items. Currently, the overlay has a slightly transparent background to make ...
3
votes
1answer
81 views

How is an ICC profile embedded or built into an image?

If I were to analyze or change an ICC profile embedded in an image, how should I proceed? I'd also be glad to understand how an "end-user" is able to create these with a tristimulus colorimeter or a ...
7
votes
1answer
2k views

Using extensions in Android OpenGL ES 2.0

It is no secret that according to the official documentation extensions are not available under OpenGL ES 2.0. Nevertheless, the glext.h file present in the NDK platform-include directories makes me ...
8
votes
1answer
114 views

Can I determine the pixel geometry programmatically?

Different screens can have different pixel geometry, so that the red, green and blue components are arranged in different patterns. Using sub-pixel rendering to give a higher apparent resolution is ...
11
votes
2answers
495 views

Hardware-accelerated drawing of curved shapes

How to quickly draw a curved shape? by "quickly" I presume one should use hardware facilities as much as possible by "curved" I mean boundaries defined by either quadratic or cubic Bezier curves by "...
9
votes
1answer
762 views

Sub-pixel antialiasing rules

I recently had an issue with sub-pixel anti-aliasing of text, which produces very harsh colours and made me wonder how it is meant to be done properly: I've drawn some cases of a black tile ...
16
votes
2answers
6k views

What is Ray Marching? Is Sphere Tracing the same thing?

A lot of ShaderToy demos share the Ray Marching algorithm to render the scene, but they are often written with a very compact style and i can't find any straightforward examples or explanation. So ...
14
votes
1answer
166 views

How can I model distant rain?

Close up, rain can be modeled as transparent balls of water with appropriate motion blur. This seems impractical for large volumes, which would be necessary for scenes of rain in the distance. At ...
10
votes
1answer
130 views

Which effects do I need to take into account for the iris of the eye?

The iris (the colourful ring surrounding the pupil of the eye) is covered in a layer of water, and appears to have opaque elements embedded in transparent and translucent elements. What effects do I ...
6
votes
2answers
207 views

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

I'd like to be able to render a large population of small independently moving objects in real time. They may move in a swarm-like manner, but their relative positions will not be coherent - their ...
14
votes
2answers
6k views

How to implement a trackball in OpenGL?

After so much reading about transformations it is time to implement a trackball for my app. I understand I have to create a vector from the origin to where the mouse is clicked and then another from ...
15
votes
1answer
1k views

How does state of the art real time hair rendering work?

It is common knowledge that hair simulation and rendering is particularly challenging and in fact rare are the examples in games that propose believable hairs. It is pretty easy to imagine how hard it ...
8
votes
1answer
279 views

How do I accurately compute coverage of overlapping analytical curves?

Antialiasing of 2D shapes boils down to computing the fraction of a pixel that is covered by the shape. For simple non-overlapping shapes, this is not too difficult: clip the shape against the pixel ...
9
votes
1answer
1k views

What is the performance tradeoff between forward and deferred rendering?

Forward rendering is the process of computing a radiance value for a surface fragment directly from input geometry and lighting information. Deferred rendering splits that process into two steps: ...
11
votes
1answer
133 views

Volumetric rendering fundamental concepts and terminology

Literature on rendering volumetric materials and effects tends to use a lot of mathematical physics terminology. Let's say that I have a decent handle on the concepts involved in surface rendering. ...
11
votes
4answers
1k views

When should quaternions be used to represent rotation and scaling in 3D?

Quaternions (a four-dimensional extension of complex numbers) can used to represent rotation and scaling of a 3D vector, and the application of a quaternion onto a 3D vector involves two quaternion ...

15 30 50 per page