Hot answers tagged

12 votes
Accepted

A recent approach for subsurface scattering

As mentioned in the comments, I would highly suggest starting with Full Volumetric Scattering. This is two fold: Since you are doing path tracing, adding volumetrics isn't super difficult. Fully ...
RichieSams's user avatar
  • 3,732
7 votes

Compute Shader vs CUDA/OpenCL

It's not quite correct, today, to think of compute shaders as being "in the shader pipeline" in the same sense that your vertex and fragment shaders are literally hooked up into a pipeline. Compute ...
GroverManheim's user avatar
5 votes
Accepted

Performance difference in OpenGL compute shader vs Vulkan Compute Shader vs Cuda/OpenCL and others

In general, you should not see significant performance differences running identical compute shaders via one API vs. another; in the end they’re running the same instructions on the same hardware. It’...
Noah Witherspoon's user avatar
5 votes

A recent approach for subsurface scattering

For cases where the diffusion approximation is preferred over full volumetric path tracing, the method published by Solid Angle is fairly efficient: https://www.solidangle.com/research/...
Stefan Werner's user avatar
4 votes

Strange sphere reflection effects in ray tracing project. I cannot figure out what causes them

The issue was caused by an incorrect calculation of the reflection direction vector. With D ray direction and N the normal vector: R = D - 2 * dot(D, N) * N The ...
Speterius's user avatar
4 votes
Accepted

Can gl_WorkGroupSize be set outside the compute shader?

Core OpenGL has no mechanism for this. The ARB_compute_variable_group_size extension provides such a feature. It doesn't allow for indirect compute operations though. It doesn't seem to have much AMD ...
Nicol Bolas's user avatar
  • 9,697
4 votes
Accepted

CUDA/OpenCL vs OpenGL compute shader for Path tracer

To first clear your confusion around the terms: GPGPU stands for General Purpose computing on GPUs CUDA is the specific NVIDIA API to perform GPGPU only on their hardware OpenGL is a graphics ...
Stefan Lindblad's user avatar
3 votes
Accepted

GDDR5 vs. DDR3 for learning GPU programming on a limited budget?

If your goal is to learn GPU programming, it doesn't matter at all whether you have DDR3 or GDDR5 memory. The way you program it isn't going to change based on how fast the memory is. It will affect ...
Nathan Reed's user avatar
  • 24.7k
2 votes
Accepted

How to avoid slowdown with 25-30 students running simple GPU kernels on 4 GeForce GTX 650 Ti s?

You need nvidia-docker. If your ssh server is in a Docker instance, you can assign each one to a different GPU. Then just set things up so only one team is sshing into each Docker instance. You don't ...
Dan Hulme's user avatar
  • 6,700
2 votes

Can you do GPGPU on integrated graphics like Intel HD 630 on Core i3?

CUDA is only available on nvidia cards. The open technology is OpenCL: https://es.wikipedia.org/wiki/OpenCL Another alternative is to use Compute Shaders. DirectX, OpenGL, and Vulkan all support ...
cambalamas's user avatar
2 votes
Accepted

What is in a GPU driver?

Your taxonomy is at best imprecise. A more accurate taxonomy would be: Userland code. This is code that's executed by the CPU in user mode. Driver code. This is code that's executed on the CPU which ...
Nicol Bolas's user avatar
  • 9,697
2 votes
Accepted

On modern GPUs, what hardware do vertex/pixel shaders have access to that compute shaders don't?

what hardware do standard graphics pipelines have access to which general purpose GPU programming APIs dont give access to? Every part of the graphics pipeline and architecture that isn't a shader. ...
Nicol Bolas's user avatar
  • 9,697
1 vote
Accepted

Why is the image from the CUDA version not as sharp as the CPU version?

If you look closely at the edge of the sphere, in the first image it is sharp, and in the second image it's blurry, blending into the background color. This suggests to me that it's not the texture, ...
Nathan Reed's user avatar
  • 24.7k
1 vote

Why does my image has a square pattern in cuda path tracer?

I managed to fix it. It was indeed related to repeating random sequences. The problem was the following. curandState* randState is an array of ...
Kaan E.'s user avatar
  • 461
1 vote

Can gl_WorkGroupSize be set outside the compute shader?

In addition to the more direct existing answer, there is a way to work around this in unextended OpenGL to some degree, feeding from the fact that in contrast to CUDA OpenGL compute shaders are not ...
Christian Rau's user avatar

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