GameApi 28
Library used by GameApi Builder tool
Loading...
Searching...
No Matches
Effect.hh File Reference
#include "VectorTools.hh"
#include <vector>
#include <map>
#include <cmath>
#include <iostream>
#include "Pieces.hh"
#include "Buffer.hh"
#include "Intersect.hh"
#include "Shader.hh"
#include <iterator>
#include <cassert>
#include <memory>
#include <fstream>
#include "EffectI.hh"
#include "GameApi_low.hh"
Include dependency graph for Effect.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  BooleanOps
class  BoxableFaceCollection
class  Effect
class  FrameAnim
class  FramePlugin
class  LazyValue< T >
class  Union< A, B >
class  RangeFunction< A, B >
class  Arrow< A, B >
class  InterpolateFunction
class  InvertableFunction< T, K >
class  VectorInvertableFunction2d
class  VectorPointConversion
class  PointVectorConversion
class  ForwardFunction< T, A, B >
class  NativeFunction< A, B >
class  FunctionImplT0< K, Impl >
class  FunctionImplT1< K, P1, Impl >
class  FunctionImplT2< K, P1, P2, Impl >
class  FunctionImplT3< K, P1, P2, P3, Impl >
class  FunctionImpl0< T, K, Impl >
class  FunctionImpl1< T, K, P, Impl >
class  FunctionImpl2< T, K, P1, P2, Impl >
class  FunctionImpl3< T, K, P1, P2, P3, Impl >
class  FunctionCompose< A, B, C >
class  EitherFunction< C1, C2, D >
class  Function2< A, B, C >
class  ForLoop< A >
class  NativeFunction2< A, B, C >
class  Element< T >
class  Curry< A, B >
class  Curry2a< A, B, C >
class  Curry2b< A, B, C >
class  RenamedFunction< A, B >
class  Exponentiation< X, Y, B >
class  ExponentiationI< X, Y, B >
class  Evaluation< B, Y >
class  EvaluationCharacteristicFunction< X >
class  PairFunction< A, B, C, D >
class  Successor< N >
class  Iteration< N >
class  Plus< N >
class  Mul< N, A >
class  ElementFunction< T >
class  NativeArray< T >
class  MapArray< I, A, B >
class  SingleInt
class  TwoInts
class  ThreeInts
class  ResizeArray< T >
class  SwapIndexesArray< I, I2, T >
struct  SwapIndexesArray< I, I2, T >::InnerArray
class  ApplyParameterArray< P, T >
class  FunctionArray< I, T >
class  ArrayConvert< B, I, T >
class  CombineArrays< T >
class  FilterArray< T >
class  Array2< I1, I2, T >
class  ComposeArrays< A, B, C >
class  ComposeChain< A, C >
class  SingletonArray< T >
class  DuplicateArray< S, T >
class  DupArray< T >
class  VectorArray< T >
class  CopyArray< T >
class  IteratorArray< T, K >
struct  IteratorArray< T, K >::const_iterator
class  ArrayDiagonal< I, T >
class  ArrayPair2< I1, I2, T1, T2 >
class  ArrayPair< I, T1, T2 >
class  FstArray< I, T1, T2 >
class  SndArray< I, T1, T2 >
class  SubArray< I, T >
class  ArrayArray< I, J, T >
class  Range< T >
class  SubArrayArray< T >
class  ArrayArraySizes< I, J, T >
class  IndexMap
class  CompressArrayArray< T >
class  CurveConvert< T >
class  ScaleCurve< T >
class  FunctionCurveIn2d
class  CurveIn2dConvert
class  FunctionCurveIn3d
class  CurveArrayConvert
class  CurveIn3dConvert
class  RepositionCurve
class  ConstantSpeedCurve
class  CurveCollection
class  CurveCollection2d
class  MatrixCurve
class  XRotate
class  MatrixCurveSequencer
class  TranslateElement
class  TranslateToMatrixCurve
class  MultiplyMatrixCurve
class  SpiralMatrixCurve
class  MatrixCurveConvert
class  IdentityMatrixCurve
class  CircleMatrixCurve
class  CircleMatrixCurve2
class  MatrixCurveToCurveIn3d
class  ComposeTrait< T >
class  ComposeTrait< Point >
class  ComposeTrait< Point2d >
class  ComposeTrait< Matrix >
class  ComposeCurve< T, Base >
class  LineIn3d
class  SurfaceIn3d
class  SurfaceIn3dImpl
class  MoveSurfaceIn3d
class  BetweenSurface
class  SurfaceBetweenSurfaces
class  CurveInSurface
class  GridIn3d
class  FloatArray
class  FloatArrayConvert
class  Circle
class  Distance2d
class  FloatMove
class  ScaleCurveIn2d
class  AnimCircle
class  CurveMultiply
class  PlaneIn3d
class  PlaneIn3d2
class  PlaneCurveIn3d
class  MultiplyCurves
class  AnimCurveIn3d
class  ContinuousPlanes
class  PlanesFromCurve
class  FrameAnimPlugins
class  Storage
class  PointCollection
class  PointCollectionConvertArray
class  Triangle
class  InterpolateTriangle
class  PolygonEdges1
class  PolygonEdges2
class  FindNearestPoint
class  PointCollection2d
class  PointArrayPointCollection2d
class  Bezier2d
class  OrPointCollection2d
class  OrArrayPointCollection2d
class  ClosedLoopPointCollection2d
class  PlanePointCollectionFrom2d
class  LinkPointCollections
class  TriPointCollection2d
class  QuadPointCollection2d
class  DynPointCollection2d
class  SampleCurveIn2d
class  BezierPointCollection2d
class  PolyFromCurve2d
class  MaxCurve
class  PolyFromTwoCurves2d
class  PlanePointsIn3d
class  VectorCollection
class  VectorCollectionConvert
class  SimpleVectorCollection
class  VectorCurve
class  PointVectorCurve
class  PointVectorCollection
class  PointVectorCollectionConvert
class  Distance
class  WeightedSampling
class  ConstantSampling
class  PointCollectionFromGrid
class  FaceId
class  TextureId
class  SingleForwardFaceCollection
class  SingleForwardBoxableFaceCollection
class  ForwardFaceCollection
class  ForwardBoxableFaceCollection
class  ShadowFaceCollection
class  ReflectFaceCollection
class  RecalculateNormals
class  SmoothNormals
class  ChangePoints
class  Anim
class  AnimSet
class  AnimSelectI
class  SubSelect
class  AnimSelect
class  FrameSelect
class  CoordSource
class  RotateAroundEdge
class  FaceCollectionArray
class  AnimFaceCollectionArray
class  IdentifyObjectsFromArray
class  DuplicateObject
class  CompressObject
class  FaceCollectionTri
class  SeparateArrayElements
struct  SeparateArrayElements::Arr
class  BatchGeneration
class  FaceCollectionTriWithObjects
class  ObjectArray2
class  ObjectArray
class  TrisToTris
class  QuadsToPlanes
class  QuadsToTris
class  PointCollectionArray
class  StarCurve
class  SampleCurve3d
class  SampledLine
class  Direction
class  CurveMovement
class  FlipNormals
class  ContinuousLines
class  OutlineFaces
class  InverseOutlineFaces
class  FaceCenterPoints
class  FaceNormals
class  AdvanceVector
class  VectorPoints
class  Fur
class  TextureCoords
class  FaceCollectionTextureCoords
class  SphericalTexCoords
class  PlaneTexCoords
class  HorizTexCoords
class  SimpleTexCoords
class  SpaceTexCoords
class  ElementCollection
class  ColorElement
class  Portal
class  Waveform
class  FreqChangeWaveform
class  VolumeRampWaveform
class  MixWaveform
class  ZeroWaveform
class  WaveformPart
class  LinWaveformPart
class  ArrayWaveform
class  ArrayWaveform2
class  PartWaveform
class  IncreasingWaveform
class  SampleWaveform
class  FloatArrayToPointCollection2d
class  WaveformArray
class  WaveformCurve
class  WaveformFunction
class  HeightMapSurface
class  RepeatWaveform
class  SinWaveform
class  FitWaveform
class  ConstantWaveform
class  InterpolateWaveform
class  SawWaveform
class  Box
class  BoxCollection
class  BoxCollectionConvert
class  FacesToBoxCollection
class  ObjectCollection
class  LinearObjectCollection
class  ConstantObjectCollection
class  BoxCollectionWithObject
class  ShaderParameterArray
class  ShaderParameterArrayConvert
class  CombineParameterArrays
class  BlobParameterArray
struct  ObjectData
class  ObjectDataArray
class  CombineObjectData
class  CombineBoxesAndObjects
class  PointsToBoxCollection
class  Origo
class  PathCollection
class  PathVisibility
class  EqualPaths
class  BreakPaths
class  DiagonalPathCollection
class  PathCollectionUser
class  PathCollectionUser::TimeProjection
class  PathCollectionUser::PathProjection
class  SampleMatrixCurve
class  Boxable
class  FaceStore
struct  FacePointStruct
struct  FaceIndexStruct
class  FaceCollectionStore
class  BoxableFaceCollectionConvert
class  EmptyBoxableFaceCollection
class  ObjectSelection
class  ConstantObjectSelection
class  BoxedElem
struct  BoxedElem::FaceObject
class  SampleSurfaceForGrid
class  SampleSurfaceIn3d
class  QuadsToSurfaces
class  SplitQuads
class  OrElem2
class  OrElem< T >
class  QuadElem
class  TriElem
struct  CubeCoords
class  PolygonElem
class  CubeElem
class  CylinderElem
class  DiskElem
class  IdentityFunction< T >
class  InterpolationPathCollection
class  Water
class  HeightMap
class  ColorElem
class  ColorFaceElem
class  TextureElem
class  TextureElem2
class  MatrixElem
class  Move
class  OrFunc
class  AndFunc
class  NotFunc
class  IsEqualFunc< T >
class  ComposeFunc< A, B, C >
class  SampleFunction< C >
class  Sample
class  RemovePolysFunc
class  MemoizeFunction< A >
class  MemoizeArray< A >
class  MemoizeFaces
class  RectangleElem
class  RenderBox
class  SphereElem
class  NormalizedPlane
class  ConeElem
class  TransformPoints
class  PointsGrid
class  Render
class  SDLRender
class  RenderState
class  BoxCombine
class  AnimBox
class  CubeGrid
class  MatrixCollection
class  CombineBoxCollection
class  ArrayBox
class  MatrixBox
class  UnitBox
class  SampleGrid
class  DiffVectorCollection
class  PointVectorInterpolate
class  PointVectorRepeat
class  SpanObject
class  TorusElem
class  Blob
class  Ray
class  SolvableCompose< T >
class  Distance4
class  Derivate
class  FuncCompose< T >
class  ClosestDistanceFromCurve
struct  ClosestDistanceFromCurve::DistRes
class  Packing
class  PointMap
class  MatrixPointMap
class  MatrixFunction
class  CX
class  XPA
class  AMX
class  BlobPointMap
class  ModifyObject
class  CubeEffect
class  CylinderEffect
class  SphereEffect
class  RoboEffect
class  MoleculeEffect
class  MoleculeInsideEffect
class  TitleEffect
class  TestEffect
class  TunnelEffect
class  HeightMapEffect
class  PathEffect
class  VBORanges
class  FaceCollectionVBO
class  VBO
class  VBOState
class  ObjectDrawer
class  Command
class  DrawVBOCmd
class  MatrixVBOCmd
class  LinkedObject
class  Camera
class  OpenGlCommands
class  FrameAnimCmds
class  RenderToTexture
class  ColorCmds
class  TransparencyCmds
class  FaceRenderCmds
class  RenderOpenGlCmds
class  TextureCommands
class  DisplayListCmds
class  ShaderCmds
class  ScopeMatrix
class  VBOEffect
class  CircleEffect
class  BlobEffect
class  ArrayFrameAnim
class  DefaultFrameAnim
class  SequentialFrameAnim
class  SurfaceEffect
class  RingEffect
class  MovementEffect
class  SinusEffect
class  TunnelEffect2
class  WalkCubeEffect
class  Frames
class  AnimFrameAnim
class  ContinuousObjectMovementArrays
class  ContinuousObjectMovement
class  Mesh
class  FaceArrayMesh
class  MeshNormals
class  FaceArrayMeshNormals
class  MeshTexCoords
class  FaceArrayMeshTexCoords
class  MeshColors
class  FaceArrayMeshColors
class  MeshTextures
class  FaceArrayMeshTextures
class  MeshShaderParameters
class  ArrayRender
struct  PrecalcStore
class  DynamicMesh
struct  DynamicMesh::Key
class  MeshFaceCollection
class  SDLArrayRender
class  ArrayEffect
class  MeshToTrianglesCounter
class  MeshToTriangles
class  MeshNormalsToTriangles
class  MeshTexCoordsToTriangles
class  MeshColorsToTriangles
class  FaceCollectionReplacement
class  VertexArrayFaceCollection
class  FaceCollectionVertexArray
class  SaveObjModelFaceCollection
class  LoadObjModelFaceCollection

Typedefs

typedef Curve< std::pair< Point, Vector > > CurveWithNormal
typedef FunctionImpl0< Point, Element< Matrix > *, TranslateElement > TranslateElementFunction
typedef FunctionImpl0< CurveIn3d *, MatrixCurve *, TranslateToMatrixCurve > TranslateToMatrixCurveFunction
typedef FunctionImpl0< float, MatrixCurve *, SpiralMatrixCurve > SpiralMatrixCurveFunction
typedef FunctionImpl0< Array< float, Matrix > *, MatrixCurve *, MatrixCurveConvert > MatrixCurveConvertFunction
typedef FunctionImpl1< MatrixCurve *, CurveIn3d *, Vector, MatrixCurveToCurveIn3d > MatrixCurveToCurveIn3dFunction
typedef FunctionImpl0< Array< int, float > *, FloatArray *, FloatArrayConvert > FloatArrayConvertFunction
typedef FunctionImpl1< Point2d, CurveIn2d *, float, Circle > CircleFunction
typedef FunctionImpl0< Point2d, Function< Point2d, float > *, Distance2d > Distance2dFunction
typedef FunctionImpl0< float, Function< float, float > *, FloatMove > FloatMoveFunction
typedef FunctionImpl2< CurveIn2d *, CurveIn2d *, float, float, ScaleCurveIn2d > ScaleCurveIn2dFunction
typedef FunctionImpl1< float, CurveIn2d *, float, AnimCircle > AnimCircleFunction
typedef FunctionImpl1< Point2d, Element< Point > *, Plane, PlaneIn3d > PlaneIn3dFunction
typedef FunctionImpl1< CurveIn2d *, CurveIn3d *, Plane, PlaneCurveIn3d > PlaneCurveIn3dFunction
typedef ArrayConvert< PointCollection2d, int, Point2d > PointCollection2dConvert
typedef FunctionImpl1< PointCollection2d *, PointCollection *, Plane, PlanePointsIn3d > PlanePointsIn3dFunction
typedef FunctionImpl0< Array< int, Vector > *, VectorCollection *, VectorCollectionConvert > VectorCollectionConvertFunction
typedef FunctionImpl0< Vector, VectorCollection *, SimpleVectorCollection > SimpleVectorCollectionFunction
typedef FunctionImpl0< VectorCollection *, FloatArray *, Distance > DistanceFunction
typedef FunctionImpl0< GridIn3d *, PointCollection *, PointCollectionFromGrid > PointCollectionFromGridFunction
typedef ArrayConvert< FaceCollectionArray, int, const FaceCollection * > FaceCollectionArrayConvert
typedef FunctionImpl0< FaceCollection *, FaceCollectionTri *, TrisToTris > TrisToTrisFunction
typedef FunctionImpl0< FaceCollection *, FaceCollectionTri *, QuadsToTris > QuadsToTrisFunction
typedef FunctionImpl1< CurveIn3d *, PointCollection *, int, SampleCurve3d > SampleCurve3dFunction
typedef FunctionImpl0< std::pair< Point, Point >, Element< Matrix > *, Direction > DirectionFunction
typedef FunctionImpl0< CurveIn3d *, MatrixCurve *, CurveMovement > CurveMovementFunction
typedef FunctionImpl0< FaceCollection *, FaceCollection *, FlipNormals > FlipNormalsFunction
typedef FunctionImpl1< PointCollection *, LineCollection *, bool, ContinuousLines > ContinuousLinesFunction
typedef FunctionImpl0< FaceCollection *, LineCollection *, OutlineFaces > OutlineFacesFunction
typedef FunctionImpl0< FaceCollection *, PointCollection *, FaceCenterPoints > FaceCenterPointsFunction
typedef FunctionImpl1< std::pair< Point, Vector >, Element< std::pair< Point, Vector > > *, float, AdvanceVector > AdvanceVectorFunction
typedef FunctionImpl0< std::pair< Point, Vector >, Element< std::pair< Point, Point > > *, VectorPoints > VectorPointsFunction
typedef FunctionImpl2< FaceCollection *, TextureCoords *, int, Point, SphericalTexCoords > SphericalTexCoordsFunction
typedef FunctionImpl1< FaceCollection *, TextureCoords *, int, HorizTexCoords > HorixTexCoordsFunction
typedef FunctionImpl1< FaceCollection *, TextureCoords *, int, SimpleTexCoords > SimpleTexCoordsFunction
typedef FunctionImpl1< Waveform *, FloatArray *, int, SampleWaveform > SampleWaveformFunction
typedef FunctionImpl1< Waveform *, Waveform *, int, RepeatWaveform > RepeatWaveformFunction
typedef FunctionImplT0< Waveform *, SinWaveform > SinWaveformFunction
typedef FunctionImpl3< Waveform *, Waveform *, float, float,float, FitWaveform > FitWaveformFunction
typedef FunctionImplT2< Waveform *, float, float, ConstantWaveform > ConstantWaveformFunction
typedef FunctionImplT0< Waveform *, SawWaveform > SawWaveformFunction
typedef FunctionImpl0< Array< int, Matrix >, BoxCollection *, BoxCollectionConvert > BoxCollectionConvertFunction
typedef FunctionImpl1< FaceCollection *, BoxCollection *, float, FacesToBoxCollection > FacesToBoxCollectionFunction
typedef FunctionImpl0< PointCollection *, BoxCollection *, PointsToBoxCollection > PointsToBoxCollectionFunction
typedef FunctionImpl1< MatrixCurve *, BoxCollection *, int, SampleMatrixCurve > SampleMatrixCurveFunction
typedef FunctionImpl1< BoxCollection *, BoxableFaceCollection *, BoxableFaceCollection &, BoxedElem > BoxedElemFunction
typedef FunctionImpl2< SurfaceIn3d *, GridIn3d *, int, int, SampleSurfaceForGrid > SampleSurfaceForGridFunction
typedef FunctionImpl3< SurfaceIn3d *, FaceCollection *, int, int, int, SampleSurfaceIn3d > SampleSurfaceIn3dFunction
typedef FunctionImpl2< FaceCollection *, FaceCollection *, int, int, SplitQuads > SplitQuadsFunction
typedef FunctionImplT0< BoxableFaceCollection *, CubeElem > CubeElemFunction
typedef FunctionImplT0< BoxableFaceCollection *, CylinderElem > CylinderElemFunction
typedef FunctionImplT2< BoxableFaceCollection *, int, int, DiskElem > DiskElemFunction
typedef FunctionImpl1< BoxableFaceCollection *, BoxableFaceCollection *, Matrix, MatrixElem > MatrixElemFunction
typedef FunctionImpl1< BoxableFaceCollection *, BoxableFaceCollection *, Vector, Move > MoveFunction
typedef FunctionImplT2< BoxableFaceCollection *, int, int, SphereElem > SphereElemFunction
typedef FunctionImpl1< PointCollection *, PointCollection *, Matrix, TransformPoints > TransformPointsFunction
typedef FunctionImpl1< BoxCollection *, BoxCollection *, Matrix, MatrixBox > MatrixBoxFunction
typedef FunctionImpl1< GridIn3d *, FaceCollection *, int, SampleGrid > SampleGridFunction
typedef SolvableCompose< Point > SolvableComposePoint
typedef FunctionImplT2< PointCollection2d *, int, int, Packing > PackingFunction
typedef FunctionImpl1< BoxableFaceCollection *, BoxableFaceCollection *, PointMap &, ModifyObject > ModifyObjectFunction
typedef FunctionImpl0< FaceCollectionTriWithObjects *, FaceCollectionVBO *, VBO > VBOFunction

Enumerations

enum  AttribId {
  AttrCenterX , AttrCenterY , AttrCenterZ , AttrInternalX ,
  AttrInternalY , AttrInternalZ , AttrInternalObjX , AttrInternalObjY ,
  AttrObjectId , AttrInternalNX_X , AttrInternalNX_Y , AttrInternalNX_Z ,
  AttrInternalNY_X , AttrInternalNY_Y , AttrInternalNY_Z , AttrFace ,
  AttrFrame , AttrPart
}
enum  FaceType { EDoNotDraw , EDraw , EIntersect }
enum  VBOUpdate {
  UpdateVertex = 1 , UpdateNormal = 2 , UpdateTexture = 4 , UpdateColor = 8 ,
  UpdateIndex = 16 , UpdateAll = UpdateVertex|UpdateNormal|UpdateIndex , UpdateVertexNormal = UpdateVertex|UpdateNormal , UpdateVertexNormalIndex = UpdateVertex|UpdateNormal|UpdateIndex ,
  UpdateVertexIndex = UpdateVertex | UpdateIndex , UpdateAllColor = UpdateAll | UpdateColor , UpdateAllTexture = UpdateAll|UpdateTexture
}

Functions

template<class T>
void AllocToNativeArray (Array< int, T > &arr, T ***result)
template<class I, class T>
std::ostream & operator<< (std::ostream &o, const Array< I, T > &arr)
void Execute (FrameAnim &f, Low_SDL_Surface *screen)
BufferRef LoadImage (std::string filename, bool &success)
BufferRef LoadImageFromString (const std::vector< unsigned char > &buffer, bool &success)
void AttachBoxes (const BoxCollection &c, const std::vector< Boxable * > &v)
void confirm_texture_usage (FaceCollection *coll)
void TextureGeneration (FaceCollection &coll, FrameAnimPlugins &plugins)
void RenderOpenGl (const FaceCollection &col)
void RenderOpenGlTextures (const FaceCollection &col)
void RenderOpenGl (const FaceCollection &col, Function< int, bool > &removepolys)
void RenderOpenGl (const FaceCollection &col, ElementCollection &nums)
void RenderOpenGl (const FaceCollection &col, const BoxCollection &b, Boxable &elem)
void RenderOpenGl (const FaceCollection &col, const TextureCoords &tex)
void RenderOpenGl (const FaceCollection &col, ElementCollection &nums, const TextureCoords &tex)
void RenderOpenGl (const FaceCollection &col, const BoxCollection &b, Boxable &elem, const TextureCoords &tex)
void RenderOpenGlLines (const LineCollection &col)
void RenderOpenGlLines (const LineCollection &col, ElementCollection &nums)
void RenderOpenGlLines (const LineCollection &col, const BoxCollection &b, Boxable &elem)
void RenderOpenGlPoly (const PointCollection &col)
void RenderOpenGl (const LineCollection &col)
void RenderOpenGl (const PointCollection &col)
template<class T>
void RenderOpenGl (const Array< int, T * > &array)
float Solve (const Function< float, float > &func, float t_0, float t_1)
float SolveWithFailure (const Function< float, float > &func, float t_0, float t_1, bool &success)
void UpdateVBO (const FaceCollectionVBO &faces, int obj, VBOState &state, VBOUpdate u=UpdateAll, const std::vector< Attrib > &attribs=std::vector< Attrib >())
void UpdateVBO (const FaceCollectionVBO &faces, VBOState &state, VBOUpdate u=UpdateAll, const std::vector< Attrib > &attribs=std::vector< Attrib >())
void UpdateVBO (const FaceCollection &faces, VBOState &state, VBOUpdate u=UpdateAll, const std::vector< Attrib > &attribs=std::vector< Attrib >())
void DrawVBO (int obj, VBOState &state, VBOUpdate u=UpdateAll, const std::vector< Attrib > &attribs=std::vector< Attrib >())
void DrawVBO (VBOState &state, VBOUpdate u=UpdateAll, const std::vector< Attrib > &attribs=std::vector< Attrib >())
void RenderOpenGlObjects (const BoxCollectionWithObject &coll, VBOState &vbostate, VBOUpdate u=UpdateVertexNormal)
void RenderOpenGlObjects (const ObjectDataArray &arr, VBOState &vbostat, VBOUpdate u, ShaderUse *use)
void PrecalcCmds (OpenGlCommands &cmds)
void RenderCmds (OpenGlCommands &cmds)
void PrecalcRenderCmds (OpenGlCommands &cmds)
void InitFrameAnim (FrameAnim &f, Low_SDL_Surface *screen)
void DisplayFrame (FrameAnim &f, Low_SDL_Surface *screen, float time)
void CleanupFrameAnim (FrameAnim &f, Low_SDL_Surface *surf)
Low_SDL_Surface * InitSDL (int scr_x, int scr_y, bool vsync, bool antialias=false)
Low_SDL_Surface * InitSDL2 (int scr_x, int scr_y, bool vsync, bool antialias=false, bool resize=false, bool vr_init=false)
BufferRef CopyFromSDLSurface (Low_SDL_Surface *surf)
void PreCalcMesh (Mesh &mesh, ArrayRender &r, PrecalcStore &prestore)
void PreCalcFaceStore (void(*fptr)(FaceStore &s, float time, float repeat_length), float repeat_duration, int repeat_framecount, ArrayRender &r, PrecalcStore &prestore)
void ExecuteFaceStore (ArrayRender &r, PrecalcStore &prestore, int frame)
void PreCalcExecute (Render &rend, FrameAnim &f, float duration, int numframes)
template<class T>
void AllocToNativeArray (Array< int, T > &arr, T **result)
int filesize (std::string filename)

Variables

LowApi * g_low

Typedef Documentation

◆ AdvanceVectorFunction

typedef FunctionImpl1<std::pair<Point,Vector>, Element<std::pair<Point,Vector> >*, float , AdvanceVector> AdvanceVectorFunction

◆ AnimCircleFunction

◆ BoxCollectionConvertFunction

◆ BoxedElemFunction

◆ CircleFunction

◆ ConstantWaveformFunction

◆ ContinuousLinesFunction

◆ CubeElemFunction

◆ CurveMovementFunction

◆ CurveWithNormal

typedef Curve<std::pair<Point,Vector> > CurveWithNormal

◆ CylinderElemFunction

◆ DirectionFunction

◆ DiskElemFunction

◆ Distance2dFunction

◆ DistanceFunction

◆ FaceCenterPointsFunction

◆ FaceCollectionArrayConvert

◆ FacesToBoxCollectionFunction

◆ FitWaveformFunction

typedef FunctionImpl3<Waveform*, Waveform*, float, float ,float, FitWaveform> FitWaveformFunction

◆ FlipNormalsFunction

◆ FloatArrayConvertFunction

◆ FloatMoveFunction

typedef FunctionImpl0<float, Function<float, float>*, FloatMove> FloatMoveFunction

◆ HorixTexCoordsFunction

◆ MatrixBoxFunction

◆ MatrixCurveConvertFunction

◆ MatrixCurveToCurveIn3dFunction

◆ MatrixElemFunction

◆ ModifyObjectFunction

◆ MoveFunction

◆ OutlineFacesFunction

◆ PackingFunction

◆ PlaneCurveIn3dFunction

◆ PlaneIn3dFunction

◆ PlanePointsIn3dFunction

◆ PointCollection2dConvert

◆ PointCollectionFromGridFunction

◆ PointsToBoxCollectionFunction

◆ QuadsToTrisFunction

◆ RepeatWaveformFunction

◆ SampleCurve3dFunction

◆ SampleGridFunction

◆ SampleMatrixCurveFunction

◆ SampleSurfaceForGridFunction

◆ SampleSurfaceIn3dFunction

◆ SampleWaveformFunction

◆ SawWaveformFunction

◆ ScaleCurveIn2dFunction

◆ SimpleTexCoordsFunction

◆ SimpleVectorCollectionFunction

◆ SinWaveformFunction

◆ SolvableComposePoint

◆ SphereElemFunction

◆ SphericalTexCoordsFunction

◆ SpiralMatrixCurveFunction

◆ SplitQuadsFunction

◆ TransformPointsFunction

◆ TranslateElementFunction

◆ TranslateToMatrixCurveFunction

◆ TrisToTrisFunction

◆ VBOFunction

◆ VectorCollectionConvertFunction

◆ VectorPointsFunction

Enumeration Type Documentation

◆ AttribId

enum AttribId
Enumerator
AttrCenterX 
AttrCenterY 
AttrCenterZ 
AttrInternalX 
AttrInternalY 
AttrInternalZ 
AttrInternalObjX 
AttrInternalObjY 
AttrObjectId 
AttrInternalNX_X 
AttrInternalNX_Y 
AttrInternalNX_Z 
AttrInternalNY_X 
AttrInternalNY_Y 
AttrInternalNY_Z 
AttrFace 
AttrFrame 
AttrPart 

◆ FaceType

enum FaceType
Enumerator
EDoNotDraw 
EDraw 
EIntersect 

◆ VBOUpdate

enum VBOUpdate
Enumerator
UpdateVertex 
UpdateNormal 
UpdateTexture 
UpdateColor 
UpdateIndex 
UpdateAll 
UpdateVertexNormal 
UpdateVertexNormalIndex 
UpdateVertexIndex 
UpdateAllColor 
UpdateAllTexture 

Function Documentation

◆ AllocToNativeArray() [1/2]

template<class T>
void AllocToNativeArray ( Array< int, T > & arr,
T *** result )
Here is the caller graph for this function:

◆ AllocToNativeArray() [2/2]

template<class T>
void AllocToNativeArray ( Array< int, T > & arr,
T ** result )

◆ AttachBoxes()

void AttachBoxes ( const BoxCollection & c,
const std::vector< Boxable * > & v )

◆ CleanupFrameAnim()

void CleanupFrameAnim ( FrameAnim & f,
Low_SDL_Surface * surf )

◆ confirm_texture_usage()

void confirm_texture_usage ( FaceCollection * coll)

◆ CopyFromSDLSurface()

BufferRef CopyFromSDLSurface ( Low_SDL_Surface * surf)
Here is the caller graph for this function:

◆ DisplayFrame()

void DisplayFrame ( FrameAnim & f,
Low_SDL_Surface * screen,
float time )
Here is the caller graph for this function:

◆ DrawVBO() [1/2]

void DrawVBO ( int obj,
VBOState & state,
VBOUpdate u = UpdateAll,
const std::vector< Attrib > & attribs = std::vector<Attrib>() )
Here is the caller graph for this function:

◆ DrawVBO() [2/2]

void DrawVBO ( VBOState & state,
VBOUpdate u = UpdateAll,
const std::vector< Attrib > & attribs = std::vector<Attrib>() )
Here is the caller graph for this function:

◆ Execute()

void Execute ( FrameAnim & f,
Low_SDL_Surface * screen )
Here is the caller graph for this function:

◆ ExecuteFaceStore()

void ExecuteFaceStore ( ArrayRender & r,
PrecalcStore & prestore,
int frame )
Here is the caller graph for this function:

◆ filesize()

int filesize ( std::string filename)
Here is the caller graph for this function:

◆ InitFrameAnim()

void InitFrameAnim ( FrameAnim & f,
Low_SDL_Surface * screen )
Here is the caller graph for this function:

◆ InitSDL()

Low_SDL_Surface * InitSDL ( int scr_x,
int scr_y,
bool vsync,
bool antialias = false )
Here is the caller graph for this function:

◆ InitSDL2()

Low_SDL_Surface * InitSDL2 ( int scr_x,
int scr_y,
bool vsync,
bool antialias = false,
bool resize = false,
bool vr_init = false )

◆ LoadImage()

BufferRef LoadImage ( std::string filename,
bool & success )
Here is the caller graph for this function:

◆ LoadImageFromString()

BufferRef LoadImageFromString ( const std::vector< unsigned char > & buffer,
bool & success )
Here is the caller graph for this function:

◆ operator<<()

template<class I, class T>
std::ostream & operator<< ( std::ostream & o,
const Array< I, T > & arr )

◆ PrecalcCmds()

void PrecalcCmds ( OpenGlCommands & cmds)
Here is the caller graph for this function:

◆ PreCalcExecute()

void PreCalcExecute ( Render & rend,
FrameAnim & f,
float duration,
int numframes )

◆ PreCalcFaceStore()

void PreCalcFaceStore ( void(* fptr )(FaceStore &s, float time, float repeat_length),
float repeat_duration,
int repeat_framecount,
ArrayRender & r,
PrecalcStore & prestore )
Here is the caller graph for this function:

◆ PreCalcMesh()

void PreCalcMesh ( Mesh & mesh,
ArrayRender & r,
PrecalcStore & prestore )
Here is the caller graph for this function:

◆ PrecalcRenderCmds()

void PrecalcRenderCmds ( OpenGlCommands & cmds)

◆ RenderCmds()

void RenderCmds ( OpenGlCommands & cmds)
Here is the caller graph for this function:

◆ RenderOpenGl() [1/10]

template<class T>
void RenderOpenGl ( const Array< int, T * > & array)

◆ RenderOpenGl() [2/10]

void RenderOpenGl ( const FaceCollection & col)
Here is the caller graph for this function:

◆ RenderOpenGl() [3/10]

void RenderOpenGl ( const FaceCollection & col,
const BoxCollection & b,
Boxable & elem )
Here is the caller graph for this function:

◆ RenderOpenGl() [4/10]

void RenderOpenGl ( const FaceCollection & col,
const BoxCollection & b,
Boxable & elem,
const TextureCoords & tex )

◆ RenderOpenGl() [5/10]

void RenderOpenGl ( const FaceCollection & col,
const TextureCoords & tex )

◆ RenderOpenGl() [6/10]

void RenderOpenGl ( const FaceCollection & col,
ElementCollection & nums )

◆ RenderOpenGl() [7/10]

void RenderOpenGl ( const FaceCollection & col,
ElementCollection & nums,
const TextureCoords & tex )

◆ RenderOpenGl() [8/10]

void RenderOpenGl ( const FaceCollection & col,
Function< int, bool > & removepolys )

◆ RenderOpenGl() [9/10]

void RenderOpenGl ( const LineCollection & col)

◆ RenderOpenGl() [10/10]

void RenderOpenGl ( const PointCollection & col)

◆ RenderOpenGlLines() [1/3]

void RenderOpenGlLines ( const LineCollection & col)
Here is the caller graph for this function:

◆ RenderOpenGlLines() [2/3]

void RenderOpenGlLines ( const LineCollection & col,
const BoxCollection & b,
Boxable & elem )

◆ RenderOpenGlLines() [3/3]

void RenderOpenGlLines ( const LineCollection & col,
ElementCollection & nums )
Here is the caller graph for this function:

◆ RenderOpenGlObjects() [1/2]

void RenderOpenGlObjects ( const BoxCollectionWithObject & coll,
VBOState & vbostate,
VBOUpdate u = UpdateVertexNormal )
Here is the caller graph for this function:

◆ RenderOpenGlObjects() [2/2]

void RenderOpenGlObjects ( const ObjectDataArray & arr,
VBOState & vbostat,
VBOUpdate u,
ShaderUse * use )

◆ RenderOpenGlPoly()

void RenderOpenGlPoly ( const PointCollection & col)
Here is the caller graph for this function:

◆ RenderOpenGlTextures()

void RenderOpenGlTextures ( const FaceCollection & col)
Here is the caller graph for this function:

◆ Solve()

float Solve ( const Function< float, float > & func,
float t_0,
float t_1 )
Here is the caller graph for this function:

◆ SolveWithFailure()

float SolveWithFailure ( const Function< float, float > & func,
float t_0,
float t_1,
bool & success )
Here is the caller graph for this function:

◆ TextureGeneration()

void TextureGeneration ( FaceCollection & coll,
FrameAnimPlugins & plugins )
Here is the caller graph for this function:

◆ UpdateVBO() [1/3]

void UpdateVBO ( const FaceCollection & faces,
VBOState & state,
VBOUpdate u = UpdateAll,
const std::vector< Attrib > & attribs = std::vector<Attrib>() )
Here is the caller graph for this function:

◆ UpdateVBO() [2/3]

void UpdateVBO ( const FaceCollectionVBO & faces,
int obj,
VBOState & state,
VBOUpdate u = UpdateAll,
const std::vector< Attrib > & attribs = std::vector<Attrib>() )
Here is the caller graph for this function:

◆ UpdateVBO() [3/3]

void UpdateVBO ( const FaceCollectionVBO & faces,
VBOState & state,
VBOUpdate u = UpdateAll,
const std::vector< Attrib > & attribs = std::vector<Attrib>() )

Variable Documentation

◆ g_low

LowApi* g_low
extern