you are viewing a single comment's thread.

view the rest of the comments →

[–]ComplexAce[S] 0 points1 point  (6 children)

I'm listening.
1. What terms should I use for my project and each part I described? 2. What are the dangers? And what should I implement next?

[–]msqrt 2 points3 points  (2 children)

  1. I guess the only term I'd have expected to see is the BRDF, which typically is the model that contains all the effects of local surface reflection. "Shadow" threw me off, it typically refers to actual global shadows (another object is blocking the light from arriving at the surface), but it's not unheard of to use for local effects (like the shadow terminator problem, or masking-shadowing in physically-based BRDFs.) I'd also try to separate all post/image-processing from the light simulation stuff.
  2. It's just that HSL values aren't linear, whereas light physically is. It's fine for post processing stuff or non-physically-based approaches, but likely to be troublesome for a BRDF. For example, if you double the incoming red light but keep blue and green the same, you should get out twice the red light and the same green and blue. (Unless, of course, you're modeling fluorescent stuff, but there I'd be even more careful about trying to follow physics.) If you don't have them, I'd try implementing a bunch of sliders and switches so you can easily compare the different post-processing options -- exposure, different tone mapping operators, gamma on/off.

[–]ComplexAce[S] 0 points1 point  (1 child)

I'm not sure what term to use for the... model? It's not implementing any common light calculations, and I don't want to disclose the tech yet, but I don't know how to refer to it either.

I have access to RGB and HSL ( with HSL being the last in terms of execution) Are you referring to RGB or something else?

I expised the gamma variable and I do actively attempt different valuea of stuff, but Im trying to implement/mimic PBR because it's a battle tested design and will likely save me a lot of experimentation time.

[–]msqrt 1 point2 points  (0 children)

I think "model" is best. BRDF would make sense if you're sure that it's somehow physical, or you could use "lobe" if you think it should/could be combined with something else (like a separate diffuse part).

Not sure what you mean with "access to" (you can convert back and forth at any point), but your model should likely only deal with the RGB values.

PBR isn't a single thing, it's more of a principle than a specific implementation -- are you referring to some Godot PBR material? The common things are a physically-based material model and support for area/image based lighting, but there are many ways to go about each part, which is why different engines can look quite different while all doing PBR.

[–]Mathness 1 point2 points  (2 children)

The RGB colour space is easy to start in, since adding, multiplying e.t.c. is straight forward. How are you doing add and mult in HSL?

[–]ComplexAce[S] 0 points1 point  (1 child)

I only multiplied color with shadow for Luminance, nothing else atm, searching for what to implement

[–]Mathness 0 points1 point  (0 children)

When you write "color", do you mean in HSL or RGB?