Support Forum       G3D Web Page     
Public Member Functions | Public Attributes | List of all members
glsl::ParticleSurface_render_geo Class Reference

Shader program. More...

Public Member Functions

float3 boostSaturation (float3 color, float boost)
 
Radiance3 computeLight (Point3 wsPosition, Vector3 normal, float normalConfidence, Vector3 wsLookVector, bool receivesShadows)
 
void emit (float x, float y, Vector3 normal, float normalConfidence, Vector3 wsLook, bool receivesShadows, Vector2 csRight, Vector2 csUp, Vector3 wsRight, Vector3 wsUp)
 Produce a vertex. More...
 
 layout (points) in
 
 layout (triangle_strip, max_vertices=8) out
 
 layout (location=0) in Point3 wsCenterVertexOutput[]
 
 layout (location=1) in float3 shapeVertexOutput[]
 
 layout (location=2) in int4 materialPropertiesVertexOutput[]
 
 layout (location=3) in float angleVertexOutput[]
 
 layout (location=4) in Vector3 normalVertexOutput[]
 
 layout (location=5) in float normalWeightVertexOutput[]
 
void main ()
 
Point3 project (Vector4 v)
 

Public Attributes

float alpha = 0.0
 
const float bias = 0.5
 
const float ENVIRONMENT_SCALE = max(0.0, 1.0 - WRAP_SHADING_AMOUNT / 20.0)
 
out RenderGeometryOutputs geoOutputs
 
uniform UniversalMaterial2DArray material
 
uniform float nearPlaneZ
 
const int RECEIVES_SHADOWS_MASK = 2
 
uniform float2 textureGridInvSize
 
uniform float2 textureGridSize
 
const float WRAP_SHADING_AMOUNT = 8.0
 

Detailed Description

Shader program.

Member Function Documentation

◆ boostSaturation()

float3 glsl::ParticleSurface_render_geo::boostSaturation ( float3  color,
float  boost 
)
inline

◆ computeLight()

Radiance3 glsl::ParticleSurface_render_geo::computeLight ( Point3  wsPosition,
Vector3  normal,
float  normalConfidence,
Vector3  wsLookVector,
bool  receivesShadows 
)
inline

◆ emit()

void glsl::ParticleSurface_render_geo::emit ( float  x,
float  y,
Vector3  normal,
float  normalConfidence,
Vector3  wsLook,
bool  receivesShadows,
Vector2  csRight,
Vector2  csUp,
Vector3  wsRight,
Vector3  wsUp 
)
inline

Produce a vertex.

Note that x and y are compile-time constants, so most of this arithmetic compiles out.

◆ layout() [1/8]

glsl::ParticleSurface_render_geo::layout ( points  )

◆ layout() [2/8]

glsl::ParticleSurface_render_geo::layout ( triangle_strip  ,
max_vertices  = 8 
)

◆ layout() [3/8]

glsl::ParticleSurface_render_geo::layout ( location  = 0)

◆ layout() [4/8]

glsl::ParticleSurface_render_geo::layout ( location  = 1)

◆ layout() [5/8]

glsl::ParticleSurface_render_geo::layout ( location  = 2)

◆ layout() [6/8]

glsl::ParticleSurface_render_geo::layout ( location  = 3)

◆ layout() [7/8]

glsl::ParticleSurface_render_geo::layout ( location  = 4)

◆ layout() [8/8]

glsl::ParticleSurface_render_geo::layout ( location  = 5)

◆ main()

void glsl::ParticleSurface_render_geo::main ( void  )
inline

◆ project()

Point3 glsl::ParticleSurface_render_geo::project ( Vector4  v)
inline

Member Data Documentation

◆ alpha

float glsl::ParticleSurface_render_geo::alpha = 0.0

◆ bias

const float glsl::ParticleSurface_render_geo::bias = 0.5

◆ ENVIRONMENT_SCALE

const float glsl::ParticleSurface_render_geo::ENVIRONMENT_SCALE = max(0.0, 1.0 - WRAP_SHADING_AMOUNT / 20.0)

◆ geoOutputs

out RenderGeometryOutputs glsl::ParticleSurface_render_geo::geoOutputs

◆ material

uniform UniversalMaterial2DArray glsl::ParticleSurface_render_geo::material

◆ nearPlaneZ

uniform float glsl::ParticleSurface_render_geo::nearPlaneZ

◆ RECEIVES_SHADOWS_MASK

const int glsl::ParticleSurface_render_geo::RECEIVES_SHADOWS_MASK = 2

◆ textureGridInvSize

uniform float2 glsl::ParticleSurface_render_geo::textureGridInvSize

◆ textureGridSize

uniform float2 glsl::ParticleSurface_render_geo::textureGridSize

◆ WRAP_SHADING_AMOUNT

const float glsl::ParticleSurface_render_geo::WRAP_SHADING_AMOUNT = 8.0

documentation generated on Wed Nov 24 2021 08:02:04 using doxygen 1.8.15