93 votes
Accepted

Why do game studios need graphics programmers if they're using game engines?

Even with an engine, getting something to display on the screen the way you want it is not always trivial. There will be many instances where someone with programming knowledge is required to make the ...
Peter's user avatar
  • 9,925
90 votes

Why don't most major game engines use gifs for animated textures?

GIF drawbacks: very limited color palette, typically 256 colors with ugly dithering (yes, you can have more than 256 colors in animated GIF, but this is uncommon) GPUs don't support GIF compression ...
Kromster's user avatar
  • 10.6k
65 votes

Why do game studios need graphics programmers if they're using game engines?

Game engines are like kitchens, and developers (i.e. programers) are like cooks. Game engines offer possibilities, while the programmers exploit these possibilities to the needs of the game. Thus, ...
Vaillancourt's user avatar
  • 16.3k
48 votes

How can bays and straits be determined in a procedurally generated map?

Here's a rough idea using image processing transformations to isolate the features of interest: Apply a flood fill from an ocean cell to make a mask of all ocean cells. Depending on how your rivers ...
DMGregory's user avatar
  • 134k
43 votes
Accepted

How do I know if I'm abstracting graphics APIs too tightly?

First of all, consider if it is actually worth it to support more than one graphics API. Just using OpenGL will cover most platforms and will be "good enough" for all but the most graphically ...
Philipp's user avatar
  • 119k
41 votes
Accepted

What advantage do OpenGL, SFML and SDL have over software rendering?

It's not just about speed of execution, but also about simplicity. Although the software rendering used in this example would be a lot slower than using hardware acceleration (i.e. a GPU), drawing a ...
Richard Greenlees's user avatar
34 votes
Accepted

Why do transformation matrices always have an extra dimension?

This is a facet of the math of affine transformations crammed into a single matrix. In an affine transformation you have the equation: x' = Ax + b, where ...
Sean Middleditch's user avatar
32 votes

Why don't most major game engines use gifs for animated textures?

In order to use any image file as a texture in a game, there must be a texture created on the GPU and the pixel data in the image file must be loaded to that texture. GPUs do not support many of the ...
Maximus Minimus's user avatar
30 votes
Accepted

What are screen space derivatives and when would I use them?

First, it helps to know that GPUs always evaluate fragment/pixel shaders on 2x2 blocks of pixels at a time. (Even if only some of those pixels ultimately need to be drawn, while others are outside the ...
DMGregory's user avatar
  • 134k
30 votes
Accepted

How can bays and straits be determined in a procedurally generated map?

The way Dragons Abound identifies bays is to walk along the coastline and find two spots on the coastline where the straight-line distance between the spots is less than the distance along the ...
Dr. Pain's user avatar
  • 416
25 votes

What advantage do OpenGL, SFML and SDL have over software rendering?

My question is: why even bother using something like open gl, sfml, sdl when all you have to do is simply allocate some buffer, pass a bitmap and draw it to the screen? Short: Because its fast (...
tkausl's user avatar
  • 1,860
13 votes

Why don't most major game engines use gifs for animated textures?

GIF has a limited color palette. (255) You have to implement parsing and animating the GIF too. So there is not a advancement in time nor in format's technical aspects.
Piranha's user avatar
  • 260
13 votes
Accepted

Why are 3d projections on a 2d screen not like what the human eye sees?

If we're willing to approximate the viewer as a cyclops whose single eye has a pinhole pupil (and this turns out to be a much better approximation than it sounds like - more on that later), then I'd ...
DMGregory's user avatar
  • 134k
11 votes

What advantage do OpenGL, SFML and SDL have over software rendering?

What he does is called software rendering, what OpenGL does is called GPU rendering What's the difference between them? Speed and memory. Rasterization (filling out triangles on screen) takes some ...
Bálint's user avatar
  • 14.9k
11 votes

Is there a reason to add options to not use advanced technologies in a game engine?

As Josh Petrie already pointed out, the most important concern is performance. Not only can't you know how powerful the end-users hardware is, when you are building an engine you don't even know how ...
Philipp's user avatar
  • 119k
8 votes

How can I draw outlines around 3D models?

One of the ways to make an outline is to use our models normal vectors. Normal vectors are vectors that are perpendicular to their surface (pointing away from the surface). The trick here is to split ...
Seyed Morteza Kamali's user avatar
8 votes

What advantage do OpenGL, SFML and SDL have over software rendering?

While the answers from others are more correct than any answer I could give, I want to point out the fundamental misunderstanding about how software development works that I think underlies your ...
egherrmann's user avatar
7 votes

Why do game studios need graphics programmers if they're using game engines?

You can ship games without a graphics programmer pretty easily now-a-days because of all the engines. What you generally need a graphics programmer for are things like optimization A graphics ...
gman's user avatar
  • 840
6 votes
Accepted

How can I make a "paint" effect?

Valve reports that for the gel-splatting in Portal 2, applying individual decals for each splat would have become too performance-intensive. Instead, they re-used the second set of UV coordinates ...
DMGregory's user avatar
  • 134k
6 votes
Accepted

When does it make sense to use Index Buffers?

The example you use of a cube is a very specific, and somewhat contrived, one where indexing does not provide it's full benefit. For most real-world examples the constraints you mention do not exist, ...
Maximus Minimus's user avatar
6 votes

How can bays and straits be determined in a procedurally generated map?

Basically, you need to think about what you mean, precisely, by a bay or strait, and why you want to differentiate them (is it for AI calculations, or to label landmarks, or something else?). Play ...
Autolykos's user avatar
  • 161
5 votes

Is there a reason to add options to not use advanced technologies in a game engine?

Something not mentioned by others yet: Disabling graphics features might be a valid workaround for problems with a certain setup, unrelated to performance. Just one example, some graphics options ...
DevSolar's user avatar
  • 150
5 votes

Is there a reason to add options to not use advanced technologies in a game engine?

Of course, performance. Some effects such as Crepuscular Rays, Depth of Field and Bloom are very taxing of fps, in particular in older GPUs. Also a good way to gain some extra fps is to reduce or ...
Theraot's user avatar
  • 26.6k
5 votes

Ray tracing and Z buffering in graphics

"Z-buffers" and "raytracing" are not mutually exclusive. Z-buffers are frequently used to support triangle-based, back-projected rendering (though they are optional in actual usage), and they can also ...
Engineer's user avatar
  • 29.5k
5 votes
Accepted

Does it make sense to do more calculations in the fragment shader if there are more vertices than pixels?

The calculation falls apart like so: If every one of those 3 million polygons rasterizes to at least one pixel on average, then doing the operation in the fragment shader still results in it being ...
DMGregory's user avatar
  • 134k

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