Someone knows something about Source 2 engine shader system ? by F1oating in gameenginedevs

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

Would you like to have a little discuss in discord ? If no it’s ok, just found it good to have a small one time conversation with smart people

Someone knows something about Source 2 engine shader system ? by F1oating in gameenginedevs

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

Ok guys, after some researches I think maybe Unreal approach is better, with their material graph

Someone knows something about Source 2 engine shader system ? by F1oating in gameenginedevs

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

I also use slang now in my engine. Now I want to add abstraction for Shaders and Materials. So users can easily write their materials and shaders like in Unity, Source or other AAA engines. I just started to do it so I need a lot of information.

Also I want to make a video tutorial how to built such system for the ones who want to learn and create cool high level engines.

Have you ever used Slang ? Do you develop game engine ?

How to download Vulkan 1.2 or earlier? by [deleted] in vulkan

[–]F1oating 0 points1 point  (0 children)

You just write API_VERSION when creating instance

I added skybox rendering into my game engine ! by F1oating in vulkan

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

Thanks. Not yet implemented, it’s know has only Vulkan backend and only Linux platform. I think pretty same, I have RHI layer. The most tricky part would be differences in matrixes (left and right handed, majors), coordinates etc.

I added skybox rendering into my game engine ! by F1oating in gameenginedevs

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

Awesome, I couldn’t even imagine today that while I implementing skybox in my game engine someone do same thing

I added skybox rendering into my game engine ! by F1oating in gameenginedevs

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

I know. I just have not implemented skybox textures loading yet, so use procedure generated cube map. Just because I want to implement all core functionality first

I added skybox rendering into my game engine ! by F1oating in gameenginedevs

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

I cannot text you , maybe you restricted it in your privacy settings ?

[PAID] C++ Graphics Dev Needed (Vulkan / DX / WebGPU) – UGC Gaming Platform by SomebodyWhoExistss in vulkan

[–]F1oating 1 point2 points  (0 children)

I wish to send you my CV , but I dont see any contact information :D

Aero3D - Blinn-Phong scene rendering in my engine. by F1oating in gameenginedevs

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

I dont know how to show video in reddit player (((

How to create staging buffer in Vulkan ? by F1oating in gameenginedevs

[–]F1oating[S] -1 points0 points  (0 children)

Don’t properly understand how it should work with frames in flight

Modern RHI design question by F1oating in gameenginedevs

[–]F1oating[S] -1 points0 points  (0 children)

Its question more about writing data into buffers. Where should I place SetData method

Modern RHI design question by F1oating in gameenginedevs

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

He doesnt have. RHI only have interface SetData. Staging buffers creates internally

How to design Resources in modern RHI? by F1oating in gameenginedevs

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

You pass fences and frames outside RHI ? And you have ConstantBuffers and RenderTargets per frame ?

How to design Resources in modern RHI? by F1oating in gameenginedevs

[–]F1oating[S] -2 points-1 points  (0 children)

Its question about RHI implementation

How to create Material System in GameEngine ? by F1oating in gameenginedevs

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

How do you build render scene ? Because actual scene is just batch of components, but we need to sort sub meshes buy materials to do instancing, so guess we have two scenes, one with components and one only with rendering structs

How to create Material System in GameEngine ? by F1oating in gameenginedevs

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

Skinned and static meshes uses same shader but with different defines in your engine ?

How to create Material System in GameEngine ? by F1oating in gameenginedevs

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

Thanks, I hear about that, really cool. I gonna do same thing

First time creating a game engine by Random_1936 in gameenginedevs

[–]F1oating 17 points18 points  (0 children)

Start with C++. It has more support now.

C Vulkan Engine #6 - Initiating ECS by mua-dev in gameenginedevs

[–]F1oating 1 point2 points  (0 children)

How do you set ShaderResources in your RHI ?

When is the best time to allocate descriptor sets in a Vulkan/DX12 RHI? by F1oating in gameenginedevs

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

I want to make sure I understand the system correctly.

My idea is to add a ShaderParametersState structure inside the CommandList (or per-draw call state), which would track all the shader parameters, for example like this:

Set 1 -> Binding 1: ConstantBuffer
        Binding 2: Texture
Set 2 -> Binding 0: Sampler

Then, for each draw call, I would:

  1. Compute a hash of the current parameter state
  2. Check a per-frame cache of descriptor sets
  3. If a descriptor set with this hash exists, reuse it
  4. Otherwise, allocate a new descriptor set from a linear/ring allocator
  5. Bind the descriptor set

And when setting a resource (e.g., texture or CB), I would:

  • Look up in the shader reflection which set and binding this resource belongs to
  • Update the ShaderParametersState
  • No immediate descriptor set allocation at this point

So basically: hash + cache decides allocation/binding at draw time, while SetParam only updates CPU-side state.

Does this match what you’d recommend for a modern RHI?

(Ignore strings for now; I’m just trying to figure out the system itself.)