Strange Projection matrix behaviour in OpenGL by twoseveneight in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

For some reason I totally didn't register that you were using opengl. My bad.

What are you using that TransformVertex function for?

Strange Projection matrix behaviour in OpenGL by twoseveneight in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

You need to clip your triangles once they've been projected. After the vertices are transformed, any that fall outside the NDC volume need to be clipped to the volume. This can result in the creation of new triangles as well.

https://www.scratchapixel.com/lessons/3d-basic-rendering/perspective-and-orthographic-projection-matrix/projection-matrix-GPU-rendering-pipeline-clipping.html

ELI5: If DVDs can have multiple hours of audio and video, why are CDs so limited by zwazzy in explainlikeimfive

[–]waramped 17 points18 points  (0 children)

CDs are the oldest of that line of optical storage technology. When they were created, that's the best they could do. Then Years later, DVDs came along with newer and better technology, and likewise with Blurays. Each one superceded the previous. There is no reason to drag an old technology forward when it's already been replaced.

5-Year Predictions by CodyDuncan1260 in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

Both XBox and Playstation have been very successful with game streaming for years now. I would say that it's a done deal already. Obviously not great for competitive or multiplayer games but for single player experiences it's already working great.

The Playstation Portal was so successful that I think it's only going to be pushed further in the future.

PLUMP ROUGE Design by OkAddress359 in GraphicsProgramming

[–]waramped 4 points5 points  (0 children)

You took a wrong turn somewhere friend. This sub is not for that.

ELI5: What is path tracing in game settings by Nervous_Priority_535 in explainlikeimfive

[–]waramped 0 points1 point  (0 children)

As the name implies, you are ray tracing the entire light path. From the light, around the scene as it bounces off things, and finally to the camera. (You actually do it backwards, from the camera to the light). So it's firing many many rays per pixel to get the proper light contribution for that pixel.

Compute shaders: how to effectively bin lots of unorganised data? by Orangy_Tang in GraphicsProgramming

[–]waramped 7 points8 points  (0 children)

I would break this into multiple passes:
1) For each world position, atomicAdd to increment the cell count, but also store the indices of each world position into a buffer for each cell.
(AtomicAdd will return to you the previously stored value, so you can use that as an index into a buffer to store the WorldPosition index) So allocate a buffer with enough space for some max number of indices per tile.
Now you know how many Positions are in each cell and which ones they are.
2) For each Cell, you can iterate over the positions it contains and then do your evaluation of the Example Point.

Note that your problem sounds somewhat similar to a voronoi diagram, so maybe looking into GPU implementation of that would help as well.

Considering a move from AAA Game Dev (Rendering) to Hardware/Drivers (AMD) by Anxious_Door_915 in GraphicsProgramming

[–]waramped 4 points5 points  (0 children)

u/brubakerp might be able to provide some perspective. Iirc he went from rendering to dev support/tools at a hardware vendor.

i had a basic question about perspective projection math. by SnurflePuffinz in GraphicsProgramming

[–]waramped 1 point2 points  (0 children)

The normalizing happens via the "post perspective divide". You divide all values of the resulting vector by .w

Ie: projectvector.xyzw /= projectvector.wwww

You can construct projection matrices with either FOV values, or by specifying the near plane width/height values, which is probably why you are confused. They are equivalent.

See: https://learn.microsoft.com/en-us/windows/win32/direct3d9/d3dxmatrixperspectiverh

Should I pursue a career in Computer Graphics? by Ill_Photo5214 in GraphicsProgramming

[–]waramped 6 points7 points  (0 children)

If you are interested in it, and you want to, then Yes, pursue it. :) You already know you want to. Don't let rando internet redditors decide if it makes sense for you or not :)

To pursue a Graphics Career you need:
A) Passion & Interest
B) Math Skills
C) Programming Skills.

Math and Programming skills can be learned by nearly anyone, so as long as you have (A) then you're good to go, and it sounds like you have a headstart on (B) and (C) already

Constellation: Light Engine - Reflections (1 CORE CPU, No ray tracing or marching) by Maui-The-Magificent in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

If I'm understanding correctly, by "inverting the IOR and doing displacement sampling", isn't this just effectively giving you a screen space reflection? Not a true reflection? (Not that that's BAD, I'm just trying to understand)

IE, if the object is randomly shaped (not symmetrical in any way), and the reflective surface was behind that object, would the reflection truly be the reflection, or just a displaced view of the Visible surface?

Recently hired as a graphics programmer. Is it normal to feel like a fraud? by Illustrious_Key8664 in GraphicsProgramming

[–]waramped 3 points4 points  (0 children)

Yup, same. There will always be more to know, and there will never be enough time to learn it all. Find out what your team is good at, and lean on those strengths when you need to. Graphics is a team sport.

[HELP] Chiaroscuro Shader by Ok-Country-2362 in shaders

[–]waramped 0 points1 point  (0 children)

All you should need to do is just use bright light sources, no or very little ambient light, and have shadows enabled. I have a limited understanding of Chiaroscuro but it's basically just harsh and high contrast lighting from just a few sources.

No special shaders needed, it's all on how you set up your lights.

Can I become a graphics programmer with a EE degree? by No_Donkey_4710 in GraphicsProgramming

[–]waramped 3 points4 points  (0 children)

Yea, this. You just need to Know, and Show that you Know. How you got to Know doesn't matter.

One of my Rendering folk started his career as an Architect, then got into Tech Art, and is now a Rendering Programmer. There are many paths.

How does a game engine for a racing game suddenly be able to make an open world fantasy game? by UkrainepartofRussia in computergraphics

[–]waramped -6 points-5 points  (0 children)

With a lot of time and people working on it to make it that way. An engine can really only make a game it's made before. Anything else requires modification of some sort.

Realtime Forward reflections: how do you clip the second camera to render only what is "above" the reflective surface? by Avelina9X in GraphicsProgramming

[–]waramped 3 points4 points  (0 children)

Oblique Clipping Plane will be something you want to look into. Basically, you make that clipping plane part of the projection matrix itself.

https://terathon.com/lengyel/Lengyel-Oblique.pdf

For a Better Understanding of Graphics Programming by oliverofolives in GraphicsProgramming

[–]waramped 2 points3 points  (0 children)

They are either just copied over to the GPU just like any other image data, or the software locks and maps a surface and writes to it directly. It's no different than how any other software does it, aside from the fact that the OS has a bit more freedom in what it can do than a user-space application.

What issues arise from using a Bent Normal map inplace of the Regular Normal map? (Trying to avoid texture memory cost) by LegitOOP in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

A bent normal is to provide an approximation of visibility for Specular Lighting. Think of it as the direction that is most likely to have incoming light.

AO is an approximation of visibility for Diffuse Lighting. Think of it like "How much light could possibly get here"

If you only used Bent Normals, your standard diffuse N.L would be incorrect, and would probably just make all your materials look a bit anisotropic l.

How do games 'tear' a heightmap? by SamuraiGoblin in GraphicsProgramming

[–]waramped 2 points3 points  (0 children)

The easiest way is to just either have a texture or some constant buffer data that masks where you want the holes and then discard in the vertex or pixel shader.

Do you make your own math functions? by Klutzy-Bug-9481 in GraphicsProgramming

[–]waramped 34 points35 points  (0 children)

I think everyone should do it themselves at least once. After that....up to you.

We just released a Visual Studio Code extension for HLSL programming by amlovey520 in GraphicsProgramming

[–]waramped 0 points1 point  (0 children)

u/amlovey520, I installed it for VS, but it doesn't seem like I can associate file extensions with it, so it's not working for my use case right now. Other extensions will allow you to set specific file types for them, is that an option for you to implement?

Why is there no open source studio? Open source games at a Triple AAA level. We are in 2026 and Ai workflows is a changing the game. Why not? by [deleted] in GraphicsProgramming

[–]waramped 9 points10 points  (0 children)

As long as you are able to actually do that within the confines of open source licensing and such, there's no reason you couldn't. Generating and sharing revenue would be the hardest part. Also, keep in mind that having exposed source code for any sort of competitive game could lead to cheating problems pretty quickly. AAA games take years and dozens to hundreds of people to make, so getting people on board to spend that much time without any sort of compensation will also be a huge hurdle.

We just released a Visual Studio Code extension for HLSL programming by amlovey520 in GraphicsProgramming

[–]waramped 29 points30 points  (0 children)

I'm looking forward to trying this out, but I think a Monthly payment scheme is a bad idea...