1#ifndef __SPLATRENDEROBJECT_HPP
2#define __SPLATRENDEROBJECT_HPP
4#include <bone/BundleInput.hpp>
5#include <bone/FishField.hpp>
7#include <ocean/GLvish/BoundingBox.hpp>
8#include <ocean/GLvish/Shader.hpp>
10#include <eagle/PhysicalSpace.hpp>
12#include <ocean/shrimp/VEnum.hpp>
14#include <GL/fieldGL.hpp>
15#include <GL/FieldBuffer.hpp>
16#include <GL/PartialElementRenderer.hpp>
18#include "fish/pond/eye/retina/VertexRenderObject.hpp"
19#include "fish/pond/eye/retina/Iris.hpp"
99 starlike = accumulative,
100 particles = depthsorted,
101 massive = alphaclamped
134 void prefix()
override;
141 bool draw()
override;
143 void postfix()
override;
147static const char*DefaultModifySizeFunction;
188static string setPointAttenuation(
const string&ModifySizeFunction = DefaultModifySizeFunction);
208static const char default_vertex_shader[];
230static const char default_fragment_shader[];
293 bool must_update(
const VRequest&,
double precision)
const override;
305 string help(
HelpType=HTMLText)
const override;
An iterator with an optional DataCreator, which is just a class to intercept creation of data along a...
Definition CreativeIterator.hpp:34
Base class for render object that draw a splat for each vertex of a Grid object.
Definition SplatRenderObject.hpp:41
TypedSlot< double > AnimationSpeed
Animation control.
Definition SplatRenderObject.hpp:48
TypedSlot< double > MaxSize
The maximal pixel diameter value.
Definition SplatRenderObject.hpp:51
TypedSlot< double > sizeFactor
The exponential scaling factor for the size of the splats.
Definition SplatRenderObject.hpp:44
Base class for object that render data given on vertices.
Definition VertexRenderObject.hpp:113
Given a fragmented field of curvilinear coordinates, (3D array of coordinates), build a uniform Grid ...
Definition FAQ.dox:2
note: cannot derive from FloatingSkeletonRenderer as long as independent base class TriangleRenderer ...
Definition fs/init.hpp:20
Base class to draw a selection of elements as OpenGL points.
Definition PartialElementRenderer.hpp:85
Helper class to generate textures with Gaussian spots (or similar) to be used as a point sprite when ...
Definition Iris.hpp:23
A Vertex Buffer Render object for making splats.
Definition SplatRenderObject.hpp:78
mode
The rendering parameters for the point sets.
Definition SplatRenderObject.hpp:85
@ accumulative_absorption
Do two-pass rendering, absorption first, then emission.
Definition SplatRenderObject.hpp:97
@ alphaclamped
Do rendering via alpha-clamping.
Definition SplatRenderObject.hpp:91
@ depthsorted
Do rendering via depth-sorting (might be slow)
Definition SplatRenderObject.hpp:89
@ alphaToCoverage
Alpha to coverage (dithering)
Definition SplatRenderObject.hpp:94
@ accumulative
Just add colors accumulative.
Definition SplatRenderObject.hpp:87
GLenum AlphaClampMode
Mode for alpha clamping.
Definition SplatRenderObject.hpp:127
double AlphaThreshold
Treshold for alphaclamped mode.
Definition SplatRenderObject.hpp:110