Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches
Terraria.GameContent.Shaders.WaterShaderData Class Reference

Classes

struct  Ripple
 

Public Member Functions

 WaterShaderData (string passName)
 
override void Update (GameTime gameTime)
 
override void Apply ()
 
void QueueRipple (Vector2 position, float strength=1f, RippleShape shape=RippleShape.Square, float rotation=0f)
 
void QueueRipple (Vector2 position, float strength, Vector2 size, RippleShape shape=RippleShape.Square, float rotation=0f)
 
void QueueRipple (Vector2 position, Color waveData, Vector2 size, RippleShape shape=RippleShape.Square, float rotation=0f)
 
ScreenShaderData UseImageOffset (Vector2 offset)
 
ScreenShaderData UseIntensity (float intensity)
 
ScreenShaderData UseColor (float r, float g, float b)
 
ScreenShaderData UseColor (Color color)
 
ScreenShaderData UseColor (Vector3 color)
 
ScreenShaderData UseProgress (float progress)
 
ScreenShaderData UseImage (Texture2D image, int index=0, SamplerState samplerState=null)
 
ScreenShaderData UseImage (string path, int index=0, SamplerState samplerState=null)
 
ScreenShaderData UseDirection (Vector2 direction)
 
ScreenShaderData UseGlobalOpacity (float opacity)
 
ScreenShaderData UseTargetPosition (Vector2 position)
 
ScreenShaderData UseSecondaryColor (float r, float g, float b)
 
ScreenShaderData UseSecondaryColor (Color color)
 
ScreenShaderData UseSecondaryColor (Vector3 color)
 
ScreenShaderData UseOpacity (float opacity)
 
ScreenShaderData UseImageScale (Vector2 scale, int index=0)
 
virtual ScreenShaderData GetSecondaryShader (Player player)
 
void SwapProgram (string passName)
 

Public Attributes

bool _useViscosityFilter = true
 
bool _useProjectileWaves = true
 

Properties

float Intensity [get]
 
float CombinedOpacity [get]
 
Effect Shader [get]
 

Events

Action< TileBatchOnWaveDraw
 

Private Member Functions

void StepLiquids ()
 
void DrawWaves ()
 
void PreDraw (GameTime gameTime)
 
void ValidateRenderTargets ()
 
void InitRenderTargets (int width, int height)
 
void ReleaseRenderTargets ()
 

Private Attributes

RenderTarget2D _distortionTarget
 
RenderTarget2D _distortionTargetSwap
 
bool _usingRenderTargets
 
Vector2 _lastDistortionDrawOffset = Vector2.Zero
 
float _progress
 
Ripple[] _rippleQueue = new Ripple[200]
 
int _rippleQueueCount
 
int _lastScreenWidth
 
int _lastScreenHeight
 
bool _useNPCWaves = true
 
bool _usePlayerWaves = true
 
bool _useRippleWaves = true
 
bool _useCustomWaves = true
 
bool _clearNextFrame = true
 
Texture2D[] _viscosityMaskChain = new Texture2D[3]
 
int _activeViscosityMask
 
Asset< Texture2D_rippleShapeTexture
 
bool _isWaveBufferDirty = true
 
int _queuedSteps
 
Vector3 _uColor = Vector3.One
 
Vector3 _uSecondaryColor = Vector3.One
 
float _uOpacity = 1f
 
float _globalOpacity = 1f
 
float _uIntensity = 1f
 
Vector2 _uTargetPosition = Vector2.One
 
Vector2 _uDirection = new Vector2(0f, 1f)
 
float _uProgress
 
Vector2 _uImageOffset = Vector2.Zero
 
Asset< Texture2D >[] _uAssetImages = new Asset<Texture2D>[3]
 
Texture2D[] _uCustomImages = new Texture2D[3]
 
SamplerState[] _samplerStates = new SamplerState[3]
 
Vector2[] _imageScales
 
readonly Ref< Effect_shader
 
string _passName
 
EffectPass _effectPass
 

Static Private Attributes

const float DISTORTION_BUFFER_SCALE = 0.25f
 
const float WAVE_FRAMERATE = 1f / 60f
 
const int MAX_RIPPLES_QUEUED = 200
 
const int MAX_QUEUED_STEPS = 2
 

Detailed Description

Definition at line 14 of file WaterShaderData.cs.


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