All Questions

Filter by
Sorted by
Tagged with
18
votes
2answers
585 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
180 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
219 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
401 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
511 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
85 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
126 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
761 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 "...
11
votes
2answers
1k 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 ...
26
votes
2answers
16k 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
178 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
150 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
326 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 ...
15
votes
2answers
8k 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 ...
9
votes
1answer
384 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
2k 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
219 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. ...
13
votes
4answers
3k 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 ...
9
votes
1answer
613 views

Trying to implement Microfacet BRDF but my result images are wrong

I am trying to implement microfacet BRDF model. I am reading Sebastien Lagarde's slides. I implemented formulas to my code but i think result image is wrong. Yellow is base color of material. ...
10
votes
1answer
2k views

Efficient rendering with many light sources

To render a scene with a single light source using phong shading, one can calculate the final color of each fragment passed into the fragment shader based on the ambient/diffuse/specular components of ...
11
votes
3answers
244 views

How can I raytrace a scene that does not fit into memory?

If the scene to be raytraced cannot be stored in memory, then without adding more RAM to the machine it seems unrealistic to render it in a practical time span, due to the need to load different parts ...
6
votes
2answers
76 views

Can I parallelise the scene for a raytraced image, rather than just the pixels?

Raytracing an image can be performed in parallel by calculating the colour of different pixels on different machines. However, this still requires each machine to have access to the entire scene to be ...
8
votes
1answer
347 views

Rendering fog underneath water

I'm aware of glFog, which blends between the fog and surface colour based on distance to the camera, like this: The equations are even given in the docs. But the fog is applied immediately in front ...
7
votes
2answers
173 views

How can I detect edges between different colours of the same brightness?

I'm looking for an algorithm that can identify edges across which colour is changing sharply, rather than just finding changes in brightness. Is this just a matter of using a different colour space ...
13
votes
3answers
3k views

What are some methods to render transparency in OpenGL

Alpha blending can be turned on to make surfaces transparent, like so: ...
10
votes
1answer
4k views

How does temporal reprojection work?

Temporal anti aliasing (and other temporal algorithms) work by matching pixels this frame with pixels from the last frame and then using that information. I get that you can use the last and current ...
6
votes
1answer
235 views

How to do a color separation with more than 3 primary colors

How would one do a color separation if there are more than 3 color primaries, or the primaries are nonstandard. In Standard CMYK conversion K is relatively easy conceptually to figure out. Its just a ...
8
votes
1answer
187 views

Do you need to use a lowpass filter before downsizing an image?

Apparently bicubic pixel interpolation is good for scaling up or down an image (in real time or not). Is it recommended to use a lowpass filter before downsizing though, or does the bicubic sampling ...
29
votes
4answers
10k views

Sharing code between multiple GLSL shaders

I often find myself copy-pasting code between several shaders. This includes both certain computations or data shared between all shaders in a single pipeline, and common computations which all of my ...
8
votes
2answers
673 views

Is long term continuous use of GPGPU safe for my GPU?

I'm looking to use my GPU for non-graphical calculations (artificial life simulations) but ideally I would like to leave this running for weeks at a time, 24 hours a day. Is there anything I should ...
38
votes
6answers
23k views

How can I debug GLSL shaders?

When writing non-trivial shaders (just as when writing any other piece of non-trivial code), people make mistakes.[citation needed] However, I can't just debug it like any other code - you can't just ...
26
votes
3answers
2k views

Avoiding z-fighting with coincident surfaces

When rendering two overlapping co-planar surfaces, a common issue is "z-fighting", where the renderer can't decide which of the two surfaces is closer to the camera, giving visual artifacts in the ...
9
votes
1answer
786 views

Is it possible to alpha blend multiple render targets using a specified alpha?

Say I have render targets 0 through N and RT 0 happens to have in its fourth component an alpha channel specified by a material or mask or something. Is it possible to have the hardware compositor ...
7
votes
1answer
167 views

Can I use several GPUs for a grid multi screen image?

Is it realistic to render a super-high resolution image over an array of 3 by 3 or 5 by 5 (for example) stacked screens? Could I do this by combining several different GPUs, or would the only way be ...
9
votes
1answer
500 views

Modelling Young's double slit experiment

Young's double slit experiment is very simple to set up and simple to explain, but it is an example of both diffraction and interference, neither of which are modelled by conventional raytracing. It ...
12
votes
1answer
271 views

Polarising reflection and refraction for a wrap around water surface

I want to render realistic images of water in an orbiting space habitat. The image does not need to be generated in real time, although I wouldn't want it to take weeks either. I'm looking for an ...
4
votes
2answers
225 views

Can I accelerate rendering an image from a ray cloud using a GPU?

Start with a precalculated "ray cloud" - the starting point and direction of a large number of rays, most of which will not contribute to the image. The image plane's position and orientation are then ...
10
votes
1answer
720 views

Algorithms for down sampling an image?

Bicubic sampling is pretty good for up sampling an image and making it larger, but is it a good choice for down sampling as well? Are there better choices?
7
votes
1answer
191 views

Brightness and contrast VS Gamma, is it possible to identify the gamma “correction amount”?

Trichoplax question aroused my curiosity and the answers in this question also reminded me why I sometimes use different gamma "amounts" to enhance images. Therefore, is it possible to determine the ...
18
votes
2answers
2k views

What is the “dipole approximation” for subsurface scattering?

If you read papers about subsurface scattering, you'll frequently come across references to something called the "dipole approximation". This term seems to go back to the paper A Practical Model for ...
10
votes
1answer
104 views

Is depth of field incongruous in a 3D still image?

If rendering an image in 2D, adding depth of field effects (blurring objects further from the focal distance) adds realism and draws the eye to the object of the image. With a 3D (i.e. stereo) image, ...
16
votes
2answers
458 views

Is gamma still important to take into account?

Do different monitors (including mobile screens) still use significantly different gamma functions when displaying colour images? Is there a standardised way to represent colour that can then be ...
11
votes
2answers
1k views

Could a hexagonal pixel array store an image more efficiently?

Most computer monitors and televisions have a rectangular array of pixels arranged on a square (or nearly square) lattice. Would a hexagonal lattice give better image quality for the same number of ...
9
votes
1answer
2k views

How is Depth of Field Implemented?

I know that depth of field involves blurring. There's some great information about how to do a Gaussian blur in the question How is Gaussian Blur Implemented? But, other than that, how is depth of ...
10
votes
3answers
418 views

What is the optimal radius of gaussian distribution for determining pixel colour?

Using a gaussian distribution of points on an image plane to calculate a pixel value, what radius/standard deviation will give the most information in the final image? Too large a radius gives a ...
17
votes
2answers
8k views

What is fwidth and how does it work?

The OpenGL documentation states that fwidth returns the sum of the absolute value of derivatives in x and y. What does this mean in less mathematical terms, and is ...
9
votes
1answer
85 views

What are the side effects of biasing brightness in continuous spectrum raytracing?

I want to model rays with a continuous range of frequencies so that I can get raytraced images with colour separation on refraction. I can model a light source with a specified frequency distribution ...
11
votes
3answers
335 views

How can I concentrate points in areas of higher curvature?

How can I distribute points over an implicit surface, to concentrate them more densely in areas of higher curvature? I've considered adding points randomly and rejecting points not required based on ...

15 30 50 per page