UnityMol  0.9.6-875
UnityMol viewer / In developement
Water Class Reference
+ Inheritance diagram for Water:
+ Collaboration diagram for Water:

Public Types

enum  WaterMode { WaterMode.Simple = 0, WaterMode.Reflective = 1, WaterMode.Refractive = 2 }
 

Public Member Functions

void OnWillRenderObject ()
 

Public Attributes

WaterMode m_WaterMode = WaterMode.Refractive
 
bool m_DisablePixelLights = true
 
int m_TextureSize = 256
 
float m_ClipPlaneOffset = 0.07f
 
LayerMask m_ReflectLayers = -1
 
LayerMask m_RefractLayers = -1
 

Private Member Functions

void OnDisable ()
 
void Update ()
 
void UpdateCameraModes (Camera src, Camera dest)
 
void CreateWaterObjects (Camera currentCamera, out Camera reflectionCamera, out Camera refractionCamera)
 
WaterMode GetWaterMode ()
 
WaterMode FindHardwareWaterSupport ()
 
Vector4 CameraSpacePlane (Camera cam, Vector3 pos, Vector3 normal, float sideSign)
 

Static Private Member Functions

static float sgn (float a)
 
static void CalculateObliqueMatrix (ref Matrix4x4 projection, Vector4 clipPlane)
 
static void CalculateReflectionMatrix (ref Matrix4x4 reflectionMat, Vector4 plane)
 

Private Attributes

Hashtable m_ReflectionCameras = new Hashtable()
 
Hashtable m_RefractionCameras = new Hashtable()
 
RenderTexture m_ReflectionTexture = null
 
RenderTexture m_RefractionTexture = null
 
WaterMode m_HardwareWaterSupport = WaterMode.Refractive
 
int m_OldReflectionTextureSize = 0
 
int m_OldRefractionTextureSize = 0
 

Static Private Attributes

static bool s_InsideWater = false
 

Detailed Description

Definition at line 6 of file Water.cs.

Member Enumeration Documentation

enum Water.WaterMode
strong
Enumerator
Simple 
Reflective 
Refractive 

Definition at line 8 of file Water.cs.

Member Function Documentation

static void Water.CalculateObliqueMatrix ( ref Matrix4x4  projection,
Vector4  clipPlane 
)
staticprivate

Definition at line 341 of file Water.cs.

References sgn().

Referenced by OnWillRenderObject().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

static void Water.CalculateReflectionMatrix ( ref Matrix4x4  reflectionMat,
Vector4  plane 
)
staticprivate

Definition at line 358 of file Water.cs.

Referenced by OnWillRenderObject().

+ Here is the caller graph for this function:

Vector4 Water.CameraSpacePlane ( Camera  cam,
Vector3  pos,
Vector3  normal,
float  sideSign 
)
private

Definition at line 329 of file Water.cs.

References m_ClipPlaneOffset.

Referenced by OnWillRenderObject().

+ Here is the caller graph for this function:

void Water.CreateWaterObjects ( Camera  currentCamera,
out Camera  reflectionCamera,
out Camera  refractionCamera 
)
private

Definition at line 228 of file Water.cs.

References GetWaterMode(), and m_TextureSize.

Referenced by OnWillRenderObject().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

WaterMode Water.FindHardwareWaterSupport ( )
private

Definition at line 302 of file Water.cs.

Referenced by OnWillRenderObject().

+ Here is the caller graph for this function:

WaterMode Water.GetWaterMode ( )
private

Definition at line 294 of file Water.cs.

References m_HardwareWaterSupport, and m_WaterMode.

Referenced by CreateWaterObjects(), and OnWillRenderObject().

+ Here is the caller graph for this function:

void Water.OnDisable ( )
private

Definition at line 152 of file Water.cs.

void Water.OnWillRenderObject ( )
static float Water.sgn ( float  a)
staticprivate

Definition at line 321 of file Water.cs.

Referenced by CalculateObliqueMatrix().

+ Here is the caller graph for this function:

void Water.Update ( )
private

Definition at line 173 of file Water.cs.

void Water.UpdateCameraModes ( Camera  src,
Camera  dest 
)
private

Definition at line 195 of file Water.cs.

Referenced by OnWillRenderObject().

+ Here is the caller graph for this function:

Member Data Documentation

float Water.m_ClipPlaneOffset = 0.07f

Definition at line 16 of file Water.cs.

Referenced by CameraSpacePlane(), and OnWillRenderObject().

bool Water.m_DisablePixelLights = true

Definition at line 14 of file Water.cs.

WaterMode Water.m_HardwareWaterSupport = WaterMode.Refractive
private

Definition at line 26 of file Water.cs.

Referenced by GetWaterMode().

int Water.m_OldReflectionTextureSize = 0
private

Definition at line 27 of file Water.cs.

int Water.m_OldRefractionTextureSize = 0
private

Definition at line 28 of file Water.cs.

Hashtable Water.m_ReflectionCameras = new Hashtable()
private

Definition at line 21 of file Water.cs.

RenderTexture Water.m_ReflectionTexture = null
private

Definition at line 24 of file Water.cs.

LayerMask Water.m_ReflectLayers = -1

Definition at line 18 of file Water.cs.

Hashtable Water.m_RefractionCameras = new Hashtable()
private

Definition at line 22 of file Water.cs.

RenderTexture Water.m_RefractionTexture = null
private

Definition at line 25 of file Water.cs.

LayerMask Water.m_RefractLayers = -1

Definition at line 19 of file Water.cs.

int Water.m_TextureSize = 256

Definition at line 15 of file Water.cs.

Referenced by CreateWaterObjects().

WaterMode Water.m_WaterMode = WaterMode.Refractive

Definition at line 13 of file Water.cs.

Referenced by GetWaterMode().

bool Water.s_InsideWater = false
staticprivate

Definition at line 30 of file Water.cs.


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