Most Popular

1500 questions
9
votes
2 answers

What transformations should I apply to a model to produce this 3D effect?

I saw a video on YouTube where a person uses a transparant, knotted pyramid to display "holograms" using their smartphone. (I have not been able to reproduce this yet, so I can't tell for sure if it works). I was wondering, given a model, which…
8
votes
1 answer

What is a vertex normal used for?

I'm new to the graphics area, and when it comes to the light part, the concept of vertex normals confuses me a lot. First, I cannot imagine how a vertex could have a normal, and second, when calculating the reflection lights, shouldn't I use the…
ravenisadesk
  • 183
  • 5
8
votes
1 answer

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 to use a GPU per screen and simply divide the…
8
votes
1 answer

Is vkCmdPushDescriptorSetKHR efficient?

I am new to Vulkan. Compared to DX12, the resource binding procedure seems a little bit complicated. In terms of per draw call uniform buffers, I currently have two approaches in mind, and they both seem to work (haven't tested/benchmarked yet). Can…
ACskyline
  • 115
  • 1
  • 6
8
votes
4 answers

Why does opengl use 4d matrices for everything?

What I managed to figure out is that the first 3*3 is used for rotation and scale and the 1*3 at the end is used for position, but what is the bottom row used for? is it only for clipping related things?
Yoris
  • 81
  • 3
8
votes
1 answer

Anisotropic GGX BRDF implementation. How is it related to isotropic GGX BRDF?

Introduction I am implementing anisotropic GGX BRDF and have encountered strange behaviour of my implementation. I thought that if I compare the microfacet distribution function I have with the one of an isotropic GGX, then they should be equal when…
honzukka
  • 121
  • 1
  • 6
8
votes
1 answer

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 amount of gamma applied to an image by knowing its…
Armfoot
  • 615
  • 1
  • 6
  • 14
8
votes
3 answers

How do graphic engine developers debug their 3D graphics code?

I'm currently trying to create an amateur game engine, and I often run into very basic bugs (eg I change the node hierarchy code and suddenly nothing is displayed). Some of the methods I will use include to track down these bugs include: Use my…
8
votes
2 answers

Vulkan: how does host coherence work?

I have a memory that is persistently mapped. It is both HOST_VISIBLE and HOST_COHERENT but not DEVICE_LOCAL. (My physical device offers no memory that is exclusively HOST_VISIBLE without also being HOST_COHERENT.) This memory contains vertex…
unknown
  • 223
  • 2
  • 7
8
votes
1 answer

What is the definition of a Half Edge?

I ran into half-edges as part of the result of a Delaunay Triangulation library, but can't find an actual definition of what one is. I understand vertices, edges and faces, but can't find a concrete definition of a half-edge.
Mark A. Ropper
  • 287
  • 2
  • 6
8
votes
3 answers

How to do error handling with OpenGL?

Whenever I make semantic or syntax errors in OpenGL, either I get a black screen or the program crashes. I looked up on internet on how to do error handling in OpenGL and in the documentations I found glGetError(). To my understanding, glGetError()…
user8277998
  • 215
  • 1
  • 2
  • 5
8
votes
2 answers

Path Tracing & Materials

I'm wondering about the technique used when sampling a layered material for the next event in a path tracer. I have a material with three layers: a base diffuse, specular and sheen lobes. How does one go about choosing a discrete layer to sample for…
8
votes
3 answers

Does premultiplied alpha give order independent transparency?

I've heard that pre-multiplied alpha gives you order independent transparency but when I sit down and do the math, it doesn't seem to be working. Is that untrue, or am I doing something incorrectly? The formula I'm using is: $out_{rgba} = in_{rgba}…
Alan Wolfe
  • 7,801
  • 3
  • 30
  • 76
8
votes
1 answer

What's the difference between geometric surface normal and shading surface normal?

In my opinion, geometric surface normal is the cross product of triangle edge vectors, and shading surface normal is the interpolation of the predefined normals at the three vertexes. I used Mitsuba to render the geometric normal channel and the…
chaosink
  • 591
  • 1
  • 4
  • 15
8
votes
3 answers

Ambient Lighting

On the Wikipedia page for the Phong model, it says that the ambient term is a constant, and just gets added on to the other terms. But on other pages like LearnOpenGL it says you should take the ambient term and multiply it by the color of the…
Daniel Kareh
  • 577
  • 3
  • 11