# Uses of Interface
org.sunflow.core.RenderObject

Packages that use RenderObject
Package
Description
org.sunflow.core
org.sunflow.core.camera
org.sunflow.core.light
org.sunflow.core.modifiers
org.sunflow.core.primitive
org.sunflow.core.shader
org.sunflow.core.tesselatable

## Uses of RenderObject in org.sunflow.core

Subinterfaces of RenderObject in org.sunflow.core
Modifier and Type
Interface
Description
`interface`
`CameraLens`
Represents a mapping from the 3D scene onto the final image.
`interface`
`LightSource`
This interface is used to represent any light emitting primitive.
`interface`
`Modifier`
This represents a surface modifier.
`interface`
`PrimitiveList`
This class represents an object made up of many primitives.
`interface`
`Shader`
A shader represents a particular light-surface interaction.
`interface`
`Tesselatable`
Represents an object which can be tesselated into a list of primitives such as a `TriangleMesh`.
Classes in org.sunflow.core that implement RenderObject
Modifier and Type
Class
Description
`class`
`Camera`
This class represents a camera to the renderer.
`class`
`Geometry`
This class represent a geometric object in its native object space.
`class`
`Instance`
This represents an instance of a `Geometry` into the scene.
`final class`
`Options`
This holds rendering objects as key, value pairs.

## Uses of RenderObject in org.sunflow.core.camera

Classes in org.sunflow.core.camera that implement RenderObject
Modifier and Type
Class
Description
`class`
`FisheyeLens`
`class`
`PinholeLens`
`class`
`SphericalLens`
`class`
`ThinLens`

## Uses of RenderObject in org.sunflow.core.light

Classes in org.sunflow.core.light that implement RenderObject
Modifier and Type
Class
Description
`class`
`DirectionalSpotlight`
`class`
`ImageBasedLight`
`class`
`PointLight`
`class`
`SphereLight`
`class`
`SunSkyLight`
`class`
`TriangleMeshLight`

## Uses of RenderObject in org.sunflow.core.modifiers

Classes in org.sunflow.core.modifiers that implement RenderObject
Modifier and Type
Class
Description
`class`
`BumpMappingModifier`
`class`
`NormalMapModifier`
`class`
`PerlinModifier`

## Uses of RenderObject in org.sunflow.core.primitive

Classes in org.sunflow.core.primitive that implement RenderObject
Modifier and Type
Class
Description
`class`
`Background`
`class`
`BanchoffSurface`
`class`
`Box`
`class`
`CornellBox`
`class`
`CubeGrid`
`class`
`Cylinder`
`class`
`Hair`
`class`
`JuliaFractal`
`class`
`ParticleSurface`
`class`
`Plane`
`class`
`QuadMesh`
`class`
`Sphere`
`class`
`SphereFlake`
`class`
`Torus`
`class`
`TriangleMesh`

## Uses of RenderObject in org.sunflow.core.shader

Classes in org.sunflow.core.shader that implement RenderObject
Modifier and Type
Class
Description
`class`
`AmbientOcclusionShader`
`class`
`AnisotropicWardShader`
`class`
`ConstantShader`
`class`
`DiffuseShader`
`class`
`GlassShader`
`class`
`IDShader`
`class`
`MirrorShader`
`class`
`NormalShader`
`class`
`PhongShader`
`class`
`PrimIDShader`
`class`
`QuickGrayShader`
`class`
`ShinyDiffuseShader`
`class`
`SimpleShader`
`class`
`TexturedAmbientOcclusionShader`
`class`
`TexturedDiffuseShader`
`class`
`TexturedPhongShader`
`class`
`TexturedShinyDiffuseShader`
`class`
`TexturedWardShader`
`class`
`UberShader`
`class`
`UVShader`
`class`
`ViewCausticsShader`
`class`
`ViewGlobalPhotonsShader`
`class`
`ViewIrradianceShader`
`class`
`WireframeShader`

## Uses of RenderObject in org.sunflow.core.tesselatable

Classes in org.sunflow.core.tesselatable that implement RenderObject
Modifier and Type
Class
Description
`class`
`BezierMesh`
`class`
`FileMesh`
`class`
`Gumbo`
`class`
`Teapot`