12
votes
Accepted
Help me grasp Anisotropic Filtering (AF)
To understand the nature of anisotropic filtering, you need to have a firm understanding of what texture mapping really means.
The term "texture mapping" means to assign positions on an object to ...
6
votes
Accepted
Why do Nvidia and AMD have to update their drivers for game releases?
Games, Triple A games in particular, tend to push graphics cards to their limits, computation capabilities, bandwidth, and drivers all get stressed heavily. This tends to cause even the smallest bug, ...
5
votes
Accepted
Derivative maps vs. Tangent Space Normal maps
After some researches and some answers from professionals here is my conclusion.
Pros
Don’t require tangents or binormals. Less interpolators.
Only need two channels. less texture memory.
Don’t ...
4
votes
Help me grasp Anisotropic Filtering (AF)
A few points that you probably already know, but that I just want to put out there for others reading this. Filtering in this case refers to low-pass filtering like you might get from a Gaussian Blur ...
4
votes
Accepted
Why does DirectX use COM pointers and interfaces?
C++ has no defined ABI, so C++ programs can't link to libraries that were compiled with a different compiler. In addition, MS's Visual Studio C++ compiler is not ABI-stable, so you don't just have to ...
4
votes
Accepted
When do people need to work directly with a graphical API (eg: Direct3D) instead of using already made software?
This is a similar question to following: When do you need to cook? You can go to a restaurant. Why would you need to know woodworking? You can buy things from a shop.
There are two answers here
In ...
4
votes
Accepted
Is it possible to make a projection matrix to not project in the center?
It's not possible to cut a hole in the image by altering the projection matrix, no. However, you can mask out rendering in that region by using the depth test or stencil test.
For example, before ...
3
votes
Accepted
Converting Vertex and Index buffers to a File Format
No idea about DirectX, but in OpenGL the buffers are just a block of binary data so you can easily load and save them.
In any 3D framework, changing the object position to achieve a different ...
3
votes
CPU load in games - what is the GPU/DirectX doing to make CPU load higher?
The most likely explanation is that the game is GPU-bounded and not running at a fixed frame rate. If reducing the quality in the settings allows the game to reach a higher frame rate, the GPU load ...
2
votes
DirectX FVF(Flexible Vertex Format ) equivalent in OpenGL/Vulkan?
Vulkan uses vertex attributes. Here is an example:
...
2
votes
Derivative maps vs. Tangent Space Normal maps
I assume that you're using precomputed height map derivatives rather than calculating them on the fly (for details see this post on Mikkelsen's blog). If we need to supply pre-computed height ...
2
votes
Accepted
Image saved as DDS with 16f format in photoshop has strange FOURCC text
The tool seems to be generating an unofficial extended version of DDS in which the FOURCC code is replaced by a value from the D3DFORMAT enum. The code ...
2
votes
Clipping for perspective projection
3D clipping is usually done in clipspace coordinates, that means the perspective matrix is used for sending the primitives to clipspace before doing the actual perspective projection. You can ...
1
vote
Accepted
1
vote
Accepted
Calculating UV coordinates for sampling texture atlas
Assuming normalized texture coordinates and a grid of 8x8 (which is 64 tiles not 16 like I said in the comments) then tileOffset will need to be a vec2 for the x and y offsets.
Also, assuming texture ...
1
vote
Accepted
Rendering equation for spherical lights
If you just want to explicitly sample an area light, then here's the general procedure you should follow. Pick light $i$ out of $L$ lights with some probability $p_i$ (the other probabilities being $...
1
vote
Sphere Texture Mapping Algorithm
A few options:
Make the 0-1 discontinuity explicit in the mesh. That is create a 2 sets of vertices that lie exactly on the line where the value would be 1 or 0 (one set gets 1 and one gets 0) then ...
1
vote
Accepted
Weirdly looking diffuse irradiance map
I've actually managed to find problem thanks to @PaulHK, thanks!
I decided to pass which face I am currently working on and setting then coordinates manually per face. It is awful but it works rather ...
1
vote
Accepted
DX9 Shadow map PCF issue
It seems that sampler2D_float doesn't allow to interpolate shadow lookup linearly. So I had to do it by hand. Here's an example of interpolated shadowing.
...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
directx × 33opengl × 11
shader × 7
hlsl × 6
texture × 5
vulkan × 4
directx11 × 4
direct3d × 4
rendering × 3
3d × 3
c++ × 2
uv-mapping × 2
directx12 × 2
mipmap × 2
glsl × 1
transformations × 1
mathematics × 1
lighting × 1
brdf × 1
gpu × 1
projections × 1
matrix × 1
pbr × 1
performance × 1
compute-shader × 1