Questions tagged [pbr]

Physically-based rendering (PBR), sometimes referred to as physically-based materials or physically-based shading, is a 3D graphics rendering process that attempts to produce realistic images by accurately modeling light-matter interaction. Use this tag for questions about physically-based rendering, including shading, lighting, and materials.

Physically-based rendering (PBR), sometimes referred to as physically-based materials or physically-based shading, is a 3D graphics rendering process that attempts to produce realistic images by accurately modeling light-matter interaction. Different rendering engines may employ different methods and use different input parameters to target this goal.

Information

Examples

Parameters

Most PBR systems include some means to set how rough a surface is, and how metallic a surface is. One parameter may have multiple effects, for example increasing the roughness may blur the reflection map and spread out the specular highlight at the same time. This example image is a composite of outputs from the OSGJS PBR demo linked above:

Samples of PBR roughness and metallic-ness

66 questions
2
votes
0 answers

Unity vs_4_0 instruction error when trying to set vertex normal in PBR shader graph

I'm trying to create a ocean PBR shader using Universal Render Pipeline's PBR Shader Graph, but when I try to assign the normal in master, it throws the errors: Assertion failed on expression: '0 ==…
ghsoares
  • 53
  • 2
  • 7
2
votes
0 answers

Inverse sampling from a Lambertian surface

In the book Physically Based Rendering, a Lambertian surface is sampled in the following way (see http://www.pbr-book.org/3ed-2018/Light_Transport_I_Surface_Reflection/Sampling_Reflection_Functions.html#): void Sample_f(Vector3f const& wo, Vector3f*…
0xbadf00d
  • 17,405
  • 15
  • 67
  • 107
2
votes
1 answer

ARKit face tracking PBR

I am usig the ARKit face tracking configuration and displaying the face mesh in realtime, i can successfully add diffuse and normal maps to it, and they display correctly, but no luck with roughness or metalness, roughness has no effect and…
Juan Boero
  • 6,281
  • 1
  • 44
  • 62
2
votes
1 answer

What exactly are the limits of Open Shading Language (OSL) in terms of new materials/BSDFs?

I'm doing research on BRDF description and implementation techniques, and OSL is one of the main languages to do so. I'm curious about the way one could implement a new BRDF using OSL, or if it's even possible to do so without messing around with…
fleig
  • 65
  • 3
2
votes
1 answer

Make SceneKit light only cast shadows without lighting the scene

I'm using physically based lighting to light my scene in ARKit, however, I also want to add shadows to make it more realistic. I tried adding a directional light and setting the intensity as low as possible but I still am not able to reach my…
SilentK
  • 587
  • 7
  • 20
2
votes
0 answers

SceneKit PBR - multiply albedo

I need to multiply a bitmap on top of an albedo/diffuse. I’m using PBR shading. Ex: apply a tattoo (bitmap) on top a skin (albedo/diffuse), multiplying so you can see the tattoo overlaying the skin. Question: this tattoo (bitmap) should be a second…
Mane Manero
  • 3,086
  • 5
  • 25
  • 47
2
votes
0 answers

How to Implement PBR shader - LWJGL?

I've been following Thinmatrix tutorials to practice GLSL and Vector math, and now I'm trying to implement a PBR shader, that I borrowed from here(learnOpenGL). My first go made sure the models would not render. My old lambert shader works fine, but…
winnieTheWind
  • 141
  • 12
2
votes
0 answers

PBRT toWorld Transformations

I'm used to using the nori rendering engine and am trying to transform some code over to pbrt so I can create scenes with analytic spheres more easily. I'm trying to take a vector I've sampled from a hemisphere and transform it to the coordinate…
bmiller
  • 21
  • 1
2
votes
2 answers

PBR Frensel effect

I'm read Real-Time Rendering and the Radiometry section was too hard for me to understand, so I googled PBR and found this article. Can someone explain the next sentence? The second observation about Fresnel properties is that the curve or …
McLovin
  • 3,295
  • 7
  • 32
  • 67
2
votes
3 answers

Three.js pbr Solution

I know toolbag and playcanvas best support PBR (physical based rendering). What pbr solution in three.js? Please give some link or example. toolbag pbr playcanvas pbr
laishi
  • 39
  • 1
  • 4
2
votes
1 answer

What are 'physically-based' lighting/rendering/materials?

What's the difference between physically based lighting, physically based rendering and physically based materials? How they are different from deferred and forward rendering? And physically based rendering is used in films and deferred rendering is…
Inder Gill
  • 145
  • 6
1
vote
1 answer

Why light color in PBR material can be larger than 1?

Recently, I implemented the PBR lighting following the LearnOpenGL tutorial. But I found that the light color the tutorial use is very large (e.g. 20~300, https://learnopengl.com/PBR/Lighting), which makes me feel confused as, in normal Phong…
tigertang
  • 445
  • 1
  • 6
  • 18
1
vote
1 answer

Ray Tracing - Normal mapping illegal bounce

I am currently writing a physically based ray tracer and I am trying to implement normal mapping. The issue is that normal mapping results in "weird" geometry such that reflections can act very strangely. For example in the following scenario, where…
matthewd
  • 13
  • 3
1
vote
2 answers

I need help understanding the GGX normal distribution function

After reading the book "Real Time Rendering 4. Edition", I've decided to give online pbr a try and i chose the GGX algorithm for the normal distribution function. The equation shown in this book looks like in this image: Now, h is the half vector…
Miso_Soup
  • 19
  • 5
1
vote
1 answer

Dark spot where light should be when attempting to code pbr shader

I keep having this bug where there's a black spot right where I would assume the model is supposed to be brightest. I pulled an all-nighter trying to get this to work, but no avail. I've been following this tutuorial…
WireWhiz
  • 43
  • 5