All Questions

7
votes
1answer
217 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 ...
14
votes
1answer
5k 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
114 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 ...
9
votes
3answers
3k 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
120 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
370 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
550 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
123 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
643 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, ...
6
votes
1answer
379 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
873 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
1k 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
4k 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 ...
33
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
74 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
469 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 ...
18
votes
2answers
561 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
170 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
212 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
380 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
464 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
83 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
122 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
702 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
2answers
935 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 ...
24
votes
2answers
12k 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
173 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
143 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
288 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
7k 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
346 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
182 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. ...
12
votes
4answers
2k 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
571 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
224 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
73 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
335 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
160 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
3k 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
234 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
181 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 ...
28
votes
4answers
9k 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
618 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 ...
37
votes
6answers
19k 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 ...

15 30 50 per page