faces.render.prt.parametricrendering.techniques.parameters
SymmetricBrdfParameters
Companion trait SymmetricBrdfParameters
object SymmetricBrdfParameters
- Alphabetic
- By Inheritance
- SymmetricBrdfParameters
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
def
getBrdfConvolutionKernel(brdfSharpness: Double, shBands: Int): DenseVector[Double]
Generates a convolution kernel for a rotationally-symmetric BRDF(*) of specified sharpness.
Generates a convolution kernel for a rotationally-symmetric BRDF(*) of specified sharpness. The BRDF is computed via
pow(max(cos(theta), 0.0), brdfSharpness)
where theta is the angle of incident light.
By convolving the resulting kernel with the SH expansion of a directional impulse function the BRDF can be rotated such that it aligns with surface normals during the rendering process.
- brdfSharpness
A higher value results in a more narrow / spiky BRDF.
- shBands
The number of SH bands to represent the BRDF kernel with.
- returns
A convolution kernel of a rotationally symmetric BRDF.
- Note
(*) Please note that the resulting convolution kernel does not necessarily correspond to a valid BRDF depending on the value of brdfSharpness and the used PRT technique. In order to be physically correct it needs to include the rendering equation's cosine term which is only the case for a brdfSharpness of 1 for the Lambert PRT technique. In this case the BRDF will correspond to the Lambert BRDF (i.e. a constant function augmented with the cosine term).
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val lambertKernel: DenseVector[Double]
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )