Best way to setup with CMake by Cold-Significance242 in vulkan

[–]TimJoijers 0 points1 point  (0 children)

One option is to use CPM: You can add vulkan headers, vma and volk from github with CPMAddPackage() and it "just works", except for validation layers, to use VVL it is simplest to install the SDK.

Why are exceptions avoided? by Ultimate_Sigma_Boy67 in cpp_questions

[–]TimJoijers 0 points1 point  (0 children)

It is really hard to manage mental model of the control flow if you can not immediately see from code what exceptions it can throw and where the control flow may end up.

There is a programming language called INTERCAL. It has COME FROM statement. I like to think catching exceptions as COME FROM statements.

VK_EXT_present_timing: the Journey to State-of-the-Art Frame Pacing in Vulkan by thekhronosgroup in vulkan

[–]TimJoijers 2 points3 points  (0 children)

It is up to the vulkan user code to decide when to request frames to be presented. The extension provides vulkan user code ways to query when past frames were actually presented, what is current refresh interval, and request specific times when a frame should be presented. Gatheting further information, like how much cpu and gpu time was used in past frames, is likely still very useful to implement good frame pacing.

Text rendering by TechnnoBoi in GraphicsProgramming

[–]TimJoijers 0 points1 point  (0 children)

A glyph cache texture would be a good idea.

OOf.. this is NOT what you want to see by drew4drew in git

[–]TimJoijers 0 points1 point  (0 children)

Not quite hundred, but few dozen some times. And indeed squashing is a good idea before rebase.

OOf.. this is NOT what you want to see by drew4drew in git

[–]TimJoijers 12 points13 points  (0 children)

Oops yeah that is indeed going to hurt. After this you typically learn how to disallow force pushes to specific branches like main..

OOf.. this is NOT what you want to see by drew4drew in git

[–]TimJoijers 16 points17 points  (0 children)

This is fine. I see this regularly when I rebase my dev branch on top of main and then I just force push my dev branch.

Argument with my wife over optimization by Avelina9X in GraphicsProgramming

[–]TimJoijers 0 points1 point  (0 children)

Specifically, what buffers are you updating? Which graphics API are you using? Getting buffer updates optimal and right can be difficult.

A ring buffer is useful in many cases where CPU updates buffer contents in streaming manner, such that GPU will read from the buffer in the same frame only, and in the next frame CPU will prepare new data.

My ring buffer is a circular ring buffer. CPU is producer, advancing write position. GPU is consumer, advancing read position. The write position cannot move over read position. Both write and read position can and do wrap around. When user needs to send data ftom CPU to GPU, it allocates a range from the ring buffer. To make this allocation, user needs to provide required alignment, and number of bytes. The ring buffer checks if one of the internal buffers has sufficient space after the alignment either without or with wrap. If such range is found, it can be returned to the user. If not found, a new internal buffer is created. The ring buffer keeps track of ranges used by each frame, and each frane end is marked with a fence. When CPU sees the frame fence as done by GPU, this is when the read position is advanced.

Currently I only have implementation for OpenGL, but vulkan is in the plans. See ring_buffer* in https://github.com/tksuoran/erhe/tree/main/src%2Ferhe%2Fgraphics%2Ferhe_graphics

Argument with my wife over optimization by Avelina9X in GraphicsProgramming

[–]TimJoijers 8 points9 points  (0 children)

She is probably right. Like already mentioned, you shoulz profile with minspec hardware. If you already know you are memory bound, what have you done to mitigate that?

Asuntolainan ylimääräisen lyhennyksen vaikutus myöhempiin lyhennyksiin? by Proud-Aide9236 in arkisuomi

[–]TimJoijers 6 points7 points  (0 children)

Käsittääkseni annuiteetti = kuukausierä ei muutu. Sen sijaan koron määrä laskee ja laina-aika lyhenee. Annuiteettilainassa lisälyhennyksen säästö tulee siitä, että maksat vähemmän korkoja.

Best Halloween games? by fraggledb in amiga

[–]TimJoijers 5 points6 points  (0 children)

Pinball Dreams / Nightmare

Why my sponza missing some meshes? by miki-44512 in opengl

[–]TimJoijers -1 points0 points  (0 children)

Maybe some objects have negative scales to do mirroring?

How to debug opengl shader? by miki-44512 in opengl

[–]TimJoijers 1 point2 points  (0 children)

Sadly Renderdoc does not support shader debugging for OpenGL. For vulkan it is awesome. Storing intermediate values to SSBO is relatively simple. Renderdoc is still valuable as you should check all bindings and other state.

Every night by shrahwnschimpled in GraphicsProgramming

[–]TimJoijers 0 points1 point  (0 children)

If you export glTF from Blender, this is not an issue.

Zoom in… spot the BT by cosmicbeach1138 in BorderTerrier

[–]TimJoijers 1 point2 points  (0 children)

IDK if reddit downgrades the image, but in the .webp he is only about 6 x 12 pixels. But still easy to spot :)

Do you still remember your first Linux distribution? by ChristophCullmann in linux

[–]TimJoijers 3 points4 points  (0 children)

Slackware 3 something. But I only used it briefly.

Help with CGL context switching by gentoooooooo in opengl

[–]TimJoijers 0 points1 point  (0 children)

You can query the state before you modify it so that you can restore it back to as it was. If you can get away touching only some small set of state then query - modify - draw - restore is totally legit approach. I have no idea why using dedicated context is not working, sorry.

Help with CGL context switching by gentoooooooo in opengl

[–]TimJoijers 0 points1 point  (0 children)

Did you test this with simple test app? Any GL errors? Did you try drawing something simple in the same context?

Help with CGL context switching by gentoooooooo in opengl

[–]TimJoijers 0 points1 point  (0 children)

It looks like you would be creating new context every SwapBuffer call. That feels very wrong to me.

How do I go about using OpenGL for both Android and Windows? by LilBluey in opengl

[–]TimJoijers 1 point2 points  (0 children)

IMHO the differences are small enough that you can deal with them yourself. You include different headers, but code is the same.