Skip to content

Implement HairMaterial #38

@wahn

Description

@wahn

Once we solved issue #37 to create curves, which can be used as hair, we need a matching HairMaterial:

$ rg '"hair"' ~/Graphics/Rendering/PBRT/pbrt-v3-scenes/hair/
/home/jan/Graphics/Rendering/PBRT/pbrt-v3-scenes/hair/curly-hair.pbrt
14:	Material "hair" "float eumelanin" .3

/home/jan/Graphics/Rendering/PBRT/pbrt-v3-scenes/hair/straight-hair.pbrt
14:	MakeNamedMaterial "black_hair" "string type" [ "hair" ] "float eumelanin" [ 8 ]
15:	MakeNamedMaterial "red_hair" "string type" [ "hair" ] "float eumelanin" [ 3 ]
16:	MakeNamedMaterial "brown_hair" "string type" [ "hair" ] "float eumelanin" [ 1.3 ] "float beta_m" .25 "float alpha" 2
17:	MakeNamedMaterial "blonde_hair" "string type" [ "hair" ] "float	eumelanin" [ .3 ]

/home/jan/Graphics/Rendering/PBRT/pbrt-v3-scenes/hair/sphere-hairblock.pbrt
17:  Material "hair" "rgb color" [ .2 .8 .3 ]

Here is the source code for the C++ implementation:

$ rg -tcpp "class HairMaterial :" ~/git/github/pbrt-v3/src/
/home/jan/git/github/pbrt-v3/src/materials/hair.h
57:class HairMaterial : public Material {

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions