Skip to main content
31 votes

Conveying a claustrophobic atmosphere in cavalier oblique projection

Reduce the players sight-range. You can do that by adding an overlay mask on top of the rendered scene. This simulates the reduced sight-radius of the player-characters due to darkness. It forces the ...
Philipp's user avatar
  • 120k
21 votes

How to make backface culling work correctly in both orthographic and perspective projection?

The reason that your culling only works with perspective projection is that you are checking the angle (via dot product) between the ray from the camera position to the object and the triangle's ...
Kevin Reid's user avatar
  • 5,498
20 votes

Conveying a claustrophobic atmosphere in cavalier oblique projection

Use per-tile lighting to do sight-range reduction. Shadowlands (1992) - 3 light levels: Diablo (1997) - 8 light levels: You can do much more with this dynamic, such as easily having monsters only ...
Engineer's user avatar
  • 30k
19 votes
Accepted

How to make backface culling work correctly in both orthographic and perspective projection?

Backface culling is not done based on normals. You can backface cull even meshes that have no normal information. Backface culling is done using the winding order of the vertices' post-projection ...
DMGregory's user avatar
  • 135k
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
  • 135k
10 votes
Accepted

How to determine if a 2D image represents what player sees in 3D game world?

To handle a symmetrical object like a cube that could be photographed from many different directions, you could try comparing silhouettes: Render the quest object's silhouette and match that against ...
idbrii's user avatar
  • 828
9 votes

Conveying a claustrophobic atmosphere in cavalier oblique projection

As the two current other answers suggest, limiting visibility is a good way of doing this. There are other games which did this. One I can think of is Breath of Fire II, where early on in the game you ...
G_H's user avatar
  • 191
5 votes
Accepted

Finding the normals of the planes of a View Frustum

It becomes much clearer if you draw it from a top-down perspective: The normal on the right is simply the direction vector of the camera rotated by -90°-fovX/2 around the y axis and the one of the ...
Bálint's user avatar
  • 14.9k
5 votes

Finding the normals of the planes of a View Frustum

Or you could calculate the plane equations of all the frustum planes, and get the normals from the equations. A plane equation has the form: Ax + By + Cz + D = 0 (A, B, C) represents the plane ...
Hermetix's user avatar
  • 507
5 votes

How to determine if a 2D image represents what player sees in 3D game world?

I would say it depends a lot if you have one spot for every "photo" or if there are several possible place where the photo could be used. If you got one spot for every photo, you can simply ...
PSquall's user avatar
  • 1,332
5 votes
Accepted

How to project a Vector3 onto the xz plane?

You can 0-out the Y coordinate. This is called an orthographic projection: ...
starikcetin's user avatar
  • 5,295
3 votes
Accepted

How would you design a transformation matrix to project absolute coordinates to any orthographic projection desired?

I'm going to make some assumptions... Your 3D world coordinate system is left-handed, with the y axis pointing up in the world. You want to convert to camera space, where y is up on the screen, x is ...
DMGregory's user avatar
  • 135k
3 votes

Projection Texture Mapping

When you're projecting a texture, the goal is to take some texture and 'paste' it onto the scene. This is essentially mapping points on the texture to points in the scene, so if we can find a mapping ...
Ryan's user avatar
  • 965
3 votes

Easy way to project point onto triangle (or plane)

There is an excellent answer to this question on the Math community of Stack Exchange: Determine if projection of 3D point onto plane is within a triangle. Which is, in turn, just a summary of this ...
Craig Reynolds's user avatar
3 votes

How do I convert a panorama image into a skybox?

I had the same issue on my project. If you're on Windows 10, I created a utility called Qbit that will export the six faces from the source image. There's a free version available here: https://...
pragmar's user avatar
  • 131
3 votes

What is Clash of Clans projection called?

I wanted to mimic this projection as well and there is next to none good information on this topic, which I find very strange. A oblique projection like Clash of Clans creates a more downward/angled ...
Madmenyo's user avatar
  • 1,979
3 votes
Accepted

How do I project the Earth globe on a flat plane with minimal distortion?

My favourite projection is that of Buckminster Fuller. You just need to implement some fancy wrap-around that let's you jump from the edge of the map to another edge. But the distortion is very low: ...
Bram's user avatar
  • 3,719
3 votes
Accepted

Project 2D texture onto a cubemap

I think I was going about this the wrong way. I didn't need to do some unruly math to convert spherical coordinates into UV coordinates for all 6 faces, I just needed to project the quad properly. I ...
Yattabyte's user avatar
  • 1,033
3 votes
Accepted

Custom Camera View Fustrum in Unity

You can simply set the camera’s Viewport in the inspector. It defaults to x,y,w,h= 0,0,1,1. You could, for example, set it to 0.2,0.1,0.6,0.8 You can include another camera (full screen) that doesn’t ...
Ed Marty's user avatar
  • 5,229
3 votes
Accepted

3d isometric projection matrix?

You should try having a separate camera and projection matrix, since isometric projection is just ortographic with a very specific camera placement. If you are using a modern matrix library (you ...
Bálint's user avatar
  • 14.9k
3 votes
Accepted

Perspective projection and ultrawide resolution

why isn't the standard to implement this "spherical" projection instead of "planar"? It looks to me like you answered this yourself here: "in case the monitor is flat, the sphere degenerates ...
DMGregory's user avatar
  • 135k
3 votes

How to project a 3D circle/ellipse to 2D?

Let's express a point \$\vec p\$ on your 3D ellipse as a parametric equation, using the vectors \$ \vec c\$ for the center, \$ \vec M \$ for the semi-major axis and \$ \vec m \$ for the semi-minor ...
DMGregory's user avatar
  • 135k
3 votes

How to project a 3D circle/ellipse to 2D?

Christopher Brierley Jones describes the process on his website how an ellipse can be fit perfectly into any convex quadrilateral. The process is very similar to what DMGregory describes in his answer ...
Laszlo Korte's user avatar
3 votes

How to determine if a 2D image represents what player sees in 3D game world?

This might look different depending on the tools you are using, but here is how I would approach this. Getting the Texture In the scene where the place of the photo exists, create a camera object, ...
Tom Tsagkatos's user avatar
3 votes

How to determine if a 2D image represents what player sees in 3D game world?

It depends on how much you want framing the shot to count Basically, there are two ways you can look at this problem. You can either treat the player as someone trying to exactly recreate the scene ...
Nosajimiki's user avatar
3 votes
Accepted

D3D12: how to enable perspective correction when interpolating UV coordinates?

You've lost perspective correctness due to the way you've written your vertex shader. Ordinarily, we'll transform our vertex from view space to clip space by multiplying it by a projection matrix that ...
DMGregory's user avatar
  • 135k
2 votes
Accepted

Setting oblique projection to data visualization

Turns out that setting the oblique projection was pretty straight forward. To make it work on D3D11, the oblique projection should be composed by two matrices: P(α,θ) = S(α,θ) * M_orth where ...
dryleh's user avatar
  • 41
2 votes
Accepted

libGDX - Why do I have to use camera.setToOrtho what does it do?

setToOrtho does not set the projection type of the camera. An OrthographicCamera will always have an orthographic frustrum. ...
spectacularbob's user avatar
2 votes
Accepted

Is there any reason to use a "canvas" based approach to GUI in isometric games?

Because everything is already dictated in terms of pixels, as is the case in an isometric game, [...] This statement is false. It's not because you use an isometric camera projection that everything ...
Vaillancourt's user avatar
  • 16.3k
2 votes

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

Your assumption is incorrect, in that things farther away from the viewpoint are, in fact smaller. This is called "perspective." Given an infinitely long, perfectly flat wall normal to the view ...
3Dave's user avatar
  • 3,151

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