2
$\begingroup$

First of all I want to apologize if I may use any vocabulary etc. wrong because I am fairly new to the 3D-modelling world (but I will tried my best to read up as much as possible).

What I want to achieve in the end is to generate ground truth data to learn a regressor to estimate the BRDF of an object (given some 2D images of the object). I am limiting myself here to objects with lambertian matt and Cook-Torrence specularity materials (and combinations of the two).

What I have done so far :

I have made myself somewhat familiar with blender and how 3D modeling, materials,textures, lighting objects etc. work in the extend that I need for this task. I know about normal mapping and how to get the surface normals of the object-mesh and about render passes in blender. However here lies my problem: The surface normals of the vertices gives me information about how the 3D geometry of the object reflects the light, not how the surface "property" (by which I mean the material of the object i.e.) influences it. If I think about the reflectance of a point as a signal, I would think about this as the "base function" (maybe this is wrong) and the specularity/diffusivity would be then some additive values to this base function.

Let's say I create some object, add a camera and lighting (in my case axial lighting/lighting has same position and orientation as the camera object) and then add some material that has some specular and diffuse properties. Then I render it and select the different passes. The combined pass gives me the whole rendered image, then I get the color-coded surface normals with the normal pass and the Z-buffer with the Depth pass.

Now to the more interesting passes: When I select the diffuse pass, the image looks just like the combined image with substracted specularity. The specularity pass is a gray value image (probably white = high specularity, black = low specularity). However, I get no information here how this layers/passes actually influence the reflectance of the light at this point! What I need is information about the albedo and gloss values at each pixel. To I have to reverse-calculate them myself then given these passes?

TL;DR: Is there a possibility to get the information of the light reflectance of an actual implementation with light source/materials/textures applied (preferably in some real value fashion) in blender without writing the Raytracer yourself?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.