Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

code cleanup. fix type mismatch. simplify & speedify. revert rapidjson NOT for android #87

Merged
merged 6 commits into from
Oct 9, 2024

Conversation

tigrazone
Copy link
Contributor

No description provided.

@gameknife gameknife merged commit 56d136f into gameknife:main Oct 9, 2024
4 checks passed
@gameknife
Copy link
Owner

the roughness change to more powerful, I see that ONB and GGX Sampling is tweaked, is currently the right one?

@gameknife
Copy link
Owner

the roughness change to more powerful, I see that ONB and GGX Sampling is tweaked, is currently the right one?

seems the previous roughness is always wrong, currently is the right one... I will adjust some materials in example scenes

@tigrazone
Copy link
Contributor Author

the roughness change to more powerful, I see that ONB and GGX Sampling is tweaked, is currently the right one?

I read sources of nvpro_core and take many talks with devs and understand more right ways. Also I use clang with Visual Studio and this compiler show me errors. Also I get your last release to rework to my version of gkNextRender and I see types mismatch in materialId and some places where uint is ok but you use int.
Also * 0.0 I change to assignment 0.0 to variable.
Offset = offset + something I chsnge to
Offset += something and so.

My version of your renderer use accumulate, rgba32f, open file by nativefiledialog-extended, gltf and glb, pack vertex data - I use 6 uints/floats vs your 9. Also in my version I use hdris file name select dropdown vs your change number...

@tigrazone tigrazone changed the title code cleanup. fix type mistmatch. simplify & speedify. revert rapidjson NOT for android code cleanup. fix type mismatch. simplify & speedify. revert rapidjson NOT for android Oct 9, 2024
@tigrazone
Copy link
Contributor Author

tigrazone commented Oct 9, 2024

Some of my talks with authors of nvpro_core
nvpro-samples/nvpro_core#68
nvpro-samples/nvpro_core#66
nvpro-samples/nvpro_core#63
nvpro-samples/nvpro_core#62
nvpro-samples/nvpro_core#72
These talks make me some understanding in themes which I understand wrong and change of Mix() in your renderer is minimize of * for example

@gameknife
Copy link
Owner

the roughness change to more powerful, I see that ONB and GGX Sampling is tweaked, is currently the right one?

I read sources of nvpro_core and take many talks with devs and understand more right ways. Also I use clang with Visual Studio and this compiler show me errors. Also I get your last release to rework to my version of gkNextRender and I see types mismatch in materialId and some places where uint is ok but you use int. Also * 0.0 I change to assignment 0.0 to variable. Offset = offset + something I chsnge to Offset += something and so.

My version of your renderer use accumulate, rgba32f, open file by nativefiledialog-extended, gltf and glb, pack vertex data - I use 6 uints/floats vs your 9. Also in my version I use hdris file name select dropdown vs your change number...

didn't see the 6 floats pack in your forked repo, did you packed normal, texcoord, matid into 3 dword? it will down the memory bandwidth, did that help performance on raytracing?

@tigrazone
Copy link
Contributor Author

tigrazone commented Oct 9, 2024

the roughness change to more powerful, I see that ONB and GGX Sampling is tweaked, is currently the right one?

I read sources of nvpro_core and take many talks with devs and understand more right ways. Also I use clang with Visual Studio and this compiler show me errors. Also I get your last release to rework to my version of gkNextRender and I see types mismatch in materialId and some places where uint is ok but you use int. Also * 0.0 I change to assignment 0.0 to variable. Offset = offset + something I chsnge to Offset += something and so.
My version of your renderer use accumulate, rgba32f, open file by nativefiledialog-extended, gltf and glb, pack vertex data - I use 6 uints/floats vs your 9. Also in my version I use hdris file name select dropdown vs your change number...

didn't see the 6 floats pack in your forked repo, did you packed normal, texcoord, matid into 3 dword? it will down the memory bandwidth, did that help performance on raytracing?

I push to my fork all I want to share.
You dont support all my proposes and I do what I want in my private repo.

how I make Vertex usage of memory smaller
compact-vertex

on c++ side
vertex-be

compress.glsl
compress_normal_cpp.h is c++ version of compress.glsl for compress normals

@tigrazone
Copy link
Contributor Author

tigrazone commented Oct 9, 2024

it will down the memory bandwidth, did that help performance on raytracing?

It use smaller memory amount and unpacking dont use too much time.
Added to compress.glsl:
#define F16VEC2 f16vec2
#extension GL_EXT_shader_16bit_storage : require
#extension GL_EXT_shader_explicit_arithmetic_types_float16 : require

on c++ side
#define F16VEC2 u16vec2

This approach with f16vec2/u16vec2 I found in older builds of https://github.com/spnda/vk_gltf_viewer and with talks by Discord with author (spnda)

https://github.com/spnda/vk_gltf_viewer/blob/6025254d65fc1f981ca2313bb07b5dbf4afb5d76/src/main.cpp#L993C1-L996C7

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants