PhotoGENius V1.0.0
A basic library for generating photorealistic images, developed for the course Numerical techniques for photorealistic image generation.
Public Member Functions | Public Attributes | List of all members
PGENLib.SpecularBRDF Class Reference

A class representing an ideal mirror BRDF. More...

Inheritance diagram for PGENLib.SpecularBRDF:
PGENLib.BRDF

Public Member Functions

 SpecularBRDF (double tresholdAngleRad=Math.PI/1800.0)
 
 SpecularBRDF (Pigment pigment, double tresholdAngleRad=Math.PI/1800.0)
 
override Color Eval (Normal normal, Vec inDir, Vec outDir, Vec2d uv)
 We provide this implementation for reference, but we are not going to use it (neither in the path tracer nor in the point-light tracer). More...
 
override Ray ScatterRay (PCG pcg, Vec incomingDir, Point interactionPoint, Normal normal, int depth)
 Abstract method to be implemented in the BRDF derived classes. More...
 
- Public Member Functions inherited from PGENLib.BRDF
 BRDF ()
 Costructor without parameters, sets Pigment to a default UniformPigment(Black).
 
 BRDF (Pigment pigment)
 Constructor with parameter. More...
 
virtual Color Eval (Normal normal, Vec inDir, Vec outDir, Vec2d uv)
 
virtual Ray ScatterRay (PCG pcg, Vec incomingDir, Point interactionPoint, Normal normal, int depth)
 Abstract method to be implemented in the BRDF derived classes. More...
 

Public Attributes

double TresholdAngleRad
 
- Public Attributes inherited from PGENLib.BRDF
Pigment Pigment
 

Detailed Description

A class representing an ideal mirror BRDF.

Member Function Documentation

◆ Eval()

override Color PGENLib.SpecularBRDF.Eval ( Normal  normal,
Vec  inDir,
Vec  outDir,
Vec2d  uv 
)
virtual

We provide this implementation for reference, but we are not going to use it (neither in the path tracer nor in the point-light tracer).

Parameters
normalnormal
inDirVec
outDirVec
uvVec2d
Returns

Reimplemented from PGENLib.BRDF.

◆ ScatterRay()

override Ray PGENLib.SpecularBRDF.ScatterRay ( PCG  pcg,
Vec  incomingDir,
Point  interactionPoint,
Normal  normal,
int  depth 
)
virtual

Abstract method to be implemented in the BRDF derived classes.

Parameters
pcgUsed to generate random numbers
incomingDirDirection of the incoming ray
interactionPointWhere the ray hit the surface
normalNormal on interactionPoint
depthDepth value for the new ray
Returns

Reimplemented from PGENLib.BRDF.


The documentation for this class was generated from the following file: