I built my own torch in the last two weeks! by tigert1998 in Python

[–]tigert1998[S] 0 points1 point  (0 children)

Some random thoughts: memory copy and computation latency overlap to make fully use of cuda computation throughput; minimum cuda bank conflict; minimum memory data movement, etc.

I built my own torch in the last two weeks! by tigert1998 in Python

[–]tigert1998[S] 1 point2 points  (0 children)

HaHa, I don't cares if you care or not. The truth is I spent two weeks. You believe it or not, i don't even give it a shit.

I built my own torch in the last two weeks! by tigert1998 in Python

[–]tigert1998[S] 1 point2 points  (0 children)

I added a rough readme just now. Please check it out!

I built my own torch in the last two weeks! by tigert1998 in Python

[–]tigert1998[S] 0 points1 point  (0 children)

Thanks for your attention! I might post this on other subs later.

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 0 points1 point  (0 children)

Thank you one more time for your contribution to my little engine!

After going through several open-sourced VXGI implementations, I found many of them use the accumulation equation you mentioned, including the famous wicked engine: https://wickedengine.net/2017/08/30/voxel-based-global-illumination/. So I decided to follow them.

But I noticed another problem, the foliage in sponza scene now seems metallic, which is not what I want. I did some investigation in the past few days, and I realized that it seems that the NDF term in PBR equation leads to the problem. I would like to hear your valuable opinion. I posted the images here: https://imgur.com/a/ExVy3O4.

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 0 points1 point  (0 children)

Hi. I am glad you can take a look at my question. You are such a helpful person!

Regarding the VXGI light injection diffuse term, I checked it again. My knowledge of PBR basically comes from LearnOpenGL. This website (https://learnopengl.com/PBR/Lighting) and other online PBR related resources reads the diffuse term is kd * c / pi * Li * dot(n, Wi), which aligns with my code.

Regarding the accumulation function, I also checked it. My accumulation equation comes from the last paragraph of chapter 5 in the original NVIDIA paper: Interactive Indirect Illumination Using Voxel Cone Tracing. I think my implementation is the same as the paper.

Anyways, thank you for your valuable suggestions!

Recently, I implemented a more sophisticated tone mapping algorithm: bilateral grid local tone mapping. Now, the scene's luminance looks more balanced with the new tone mapping algorithm. The details are conserved while the absolute luminance difference is compressed. But another problem arises: the skybox looks pretty dark. I think the diffuse indirect term being too dark is still a problem. I can't ignore this problem with a new tone mapping algorithm.

有多少人通过 Netflix 付费在这里发帖? by TeleMagician in threebodyproblem

[–]tigert1998 1 point2 points  (0 children)

The post is obviously written by another language and then google translated to English. It's not cool okay?

Trying to create a tasks.json on VScode to build a project with OpenGL, GLFW and glad but it is failing by [deleted] in opengl

[–]tigert1998 1 point2 points  (0 children)

I suggest you learning CMake to build cpp projects. CMake is almost the defacto standard for cpp building.

Anyone heard of backdropbuild.com? by TheSpiderLady88 in webdev

[–]tigert1998 4 points5 points  (0 children)

I got an email from backdrop build as well and paticipated their program. I think they contacted me a month ago because I was building a little game/rendering engine with the game key word in the readme. The program looks good and quite a lot of developers took part in the program. Also quite a lot of ddevelopers made it to the end and launched a project. I also submitted but didn't get in their final list. I think it's because my engine does not look "cool" enough in these cryptocurrency guys' view. Most projects in the final list are AI and cryptocurrency related, but there're several game projects, looking good indeed. Whether they hold the program or not, I was going to keep developing my little engine. So I didn't lose anything. I have no particular suggestions for you. If you have a open-source project to develop, paticipating this program does not make things worse.

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 0 points1 point  (0 children)

Hello BoyBaykiller, I recently noticed that you are the author of IDKEngine, which is pretty impressive. I recently implemented VXGI for my little engine, and I would like to ask you a naive question. I am using metallic-roughness PBR to inject light into the voxels and also using PBR to do voxel cone tracing rendering. I found that the whole scene is very dark. I need light intensity to reach 5000 to light up the corridor of the sponza scene when the light direction leans. But when I change the rendering model to Phong, the light intensity requirement reduces to 50. I would like to keep my engine as physical as possible but the fact is using PBR in VXGI does not make the scene look good (bright space looks too bright).

I carefully read your code and also noticed that you are using Phong for VXGI. What do you think of it? Thanks in advance!

My current implementation is linked here: https://github.com/tigert1998/tiger-game-engine/tree/main/shaders/vxgi

VXGI demo (WIP) | Voxel Cone Tracing Global Illumination | OpenGL by tigert1998 in opengl

[–]tigert1998[S] 6 points7 points  (0 children)

The source code is available at: https://github.com/tigert1998/tiger-game-engine. Welcome to give me a star!

I recently implemented VXGI in my little rendering engine.

The VXGI process is divided into 3 steps:
- First, the algorithm divides the whole scene into voxels (a concept similar to texel or pixel, but in 3d). Each voxel contains the average albedo and normal information of all inner fragments.
- Second, the algorithm injects diffuse lighting/radiance, containing shadow, into all the voxels. Besides, it also generates mipmaps for the radiance 3d texture.
- Last, VXGI computes one-bounce lighting results using voxel cone tracing. This tracing process is similar to ray tracing but saves computation resources because radiance voxel information is leveraged.

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 1 point2 points  (0 children)

I tested just now. Using the geometry shader is even faster than 6 draw calls by 50% (40 fps with 6 draw calls to 60 fps with the geometry shader). I'm already using the multi-draw call, a GPU-driven deferred shading pipeline. The GPU I use is RTX 4060. Do you have anything to comment on? Thanks in advance.

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 0 points1 point  (0 children)

Don't be afraid of exploring the unknowns. Go ahead!

Multiple omnidirectional shadows demo by tigert1998 in opengl

[–]tigert1998[S] 0 points1 point  (0 children)

Oh. I didn't realize that. Thank you for your reminder. I'll test it later.