Skip to main content
Share Your Experience: Take the 2024 Developer Survey
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 ...
Nicol Bolas's user avatar
  • 9,832
7 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, ...
pmw1234's user avatar
  • 3,219
5 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 ...
Dan Hulme's user avatar
  • 6,830
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 ...
MaT's user avatar
  • 1,229
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 ...
user1118321's user avatar
  • 3,421
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 ...
joojaa's user avatar
  • 8,437
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 ...
Nathan Reed's user avatar
  • 25.1k
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 ...
Isolin's user avatar
  • 438
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 ...
Dan Hulme's user avatar
  • 6,830
2 votes

Preferred GPU API to use for Steam Deck, Windows, Linux and MacOS support

The choice of which API to use is less important then the concepts and methods that the API's are designed to implement. Once you understand the basic graphics concepts and how to implement them using ...
pmw1234's user avatar
  • 3,219
2 votes

DirectX FVF(Flexible Vertex Format ) equivalent in OpenGL/Vulkan?

Vulkan uses vertex attributes. Here is an example: ...
pmw1234's user avatar
  • 3,219
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 ...
AnimatedRNG's user avatar
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 ...
Nathan Reed's user avatar
  • 25.1k
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 ...
Mauricio Cele Lopez Belon's user avatar
1 vote
Accepted

Billboarding in Vertex Shader

I did a little code cleaning and came up with this: ...
pmw1234's user avatar
  • 3,219
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 ...
pmw1234's user avatar
  • 3,219
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 $...
lightxbulb's user avatar
  • 2,226
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 ...
ratchet freak's user avatar
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 ...
DirectX_Programmer's user avatar
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. ...
MaT's user avatar
  • 1,229

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