Radium Engine  1.5.20
Loading...
Searching...
No Matches
Ra::Engine::Data Namespace Reference

(GPU) Data representation, along with manager More...

Namespaces

namespace  DrawPrimitives
 
namespace  EngineMaterialConverters
 
namespace  RenderMeshType
 Helpers to get RenderMesh type from CoreMesh Type.
 
namespace  ShaderConfigurationFactory
 
namespace  TextureSemantics
 [TextureSemantics]
 

Classes

class  AttribArrayDisplayable
 
class  BlinnPhongMaterial
 [TextureSemantics] More...
 
class  BlinnPhongMaterialConverter
 
class  CoreGeometryDisplayable
 Template class to manage the Displayable aspect of a Core Geomertry, such as TriangleMesh. More...
 
class  Displayable
 
class  EnvironmentTexture
 Defines a spherical, infinite light sources and, optionally, sky boxes. An operator to convert an EnvironmentTexture to SH matrices for irradiance mapping is defined. An operator to draw a textured sky box is defined. More...
 
class  GeneralMesh
 
struct  ImageParameters
 
class  IndexedAttribArrayDisplayable
 
class  IndexedGeometry
 An engine mesh owning CoreGeometry, with indices. More...
 
class  LambertianMaterial
 Implementation of the Lambertian Material BSDF. More...
 
class  LineMesh
 LineMesh, own a Core::Geometry::LineMesh. More...
 
class  Material
 Base class for materials. More...
 
class  MaterialTextureSet
 Base class to manage a set of textures indexed by semantic (enum). More...
 
class  Mesh
 Mesh, own a Core::Geometry::TriangleMesh. More...
 
class  MultiIndexedGeometry
 
class  ParameterSetEditingInterface
 Interface to define metadata (constraints, description, ...) for the editing of parameter set. More...
 
class  PlainMaterial
 
class  PointCloud
 A PointCloud without indices. More...
 
class  RawShaderMaterial
 
class  RawShaderMaterialConverter
 
class  RenderParameters
 Management of shader parameters with automatic binding of a named parameter to the corresponding glsl uniform. More...
 
struct  SamplerParameters
 GPU Sampler configuration. More...
 
class  ShaderConfiguration
 
class  ShaderParameterProvider
 Shader program parameter provider. More...
 
class  ShaderProgram
 
class  ShaderProgramManager
 
class  SimpleMaterial
 Base implementation for simple, monocolored, materials. More...
 
class  Texture
 Represent a Texture of the engine. More...
 
class  TextureManager
 Manage Texture loading and registration. More...
 
struct  TextureParameters
 Describes the sampler and image of a texture. More...
 
class  Vao
 
class  VaoIndices
 Concept class to ensure consistent naming of VaoIndices accross derived classes. More...
 
struct  ViewingParameters
 the set of viewing parameters extracted from the camera and given to the renderer More...
 
class  VolumeObject
 
class  VolumetricMaterial
 

Typedefs

using PolyMesh = GeneralMesh<Core::Geometry::PolyMesh>
 
using QuadMesh = GeneralMesh<Core::Geometry::QuadMesh>
 
using ShaderProgramPtr = std::shared_ptr<Data::ShaderProgram>
 

Enumerations

enum  ShaderType : uint {
  ShaderType_VERTEX = 0 , ShaderType_FRAGMENT , ShaderType_GEOMETRY , ShaderType_TESS_CONTROL ,
  ShaderType_TESS_EVALUATION , ShaderType_COMPUTE , ShaderType_COUNT
}
 

Functions

template<typename T >
void flip_horizontally (T *img, size_t w, size_t h, size_t c)
 
template<typename CoreMeshType >
CoreMeshType createCoreMeshFromGeometryData (const Ra::Core::Asset::GeometryData *data)
 
template<typename CoreMeshType >
RenderMeshType::getType< CoreMeshType >::Type * createMeshFromGeometryData (const std::string &name, const Ra::Core::Asset::GeometryData *data)
 create Mesh, PolyMesh Engine::Data::*Mesh * from GeometryData
 
std::ostreamoperator<< (std::ostream &stream, const ShaderConfiguration &config)
 
GLenum getTypeAsGLEnum (ShaderType type)
 
ShaderType getGLenumAsType (GLenum type)
 
template<typename T , typename std::enable_if<!std::is_same< T, GL_SCALAR_PLAIN >::value >::type * = nullptr>
void scalarVectorAdapter (globjects::Program *prog, const char *name, const std::vector< T > &value)
 

Variables

static const std::string materialName { "BlinnPhong" }
 
static const std::string materialName { "Lambertian" }
 
static const std::string materialName { "Plain" }
 
static const std::string materialName { "Volumetric" }
 

Detailed Description

(GPU) Data representation, along with manager

Typedef Documentation

◆ PolyMesh

using Ra::Engine::Data::PolyMesh = GeneralMesh<Core::Geometry::PolyMesh>

Definition at line 455 of file Mesh.hpp.

◆ QuadMesh

using Ra::Engine::Data::QuadMesh = GeneralMesh<Core::Geometry::QuadMesh>

Definition at line 456 of file Mesh.hpp.

◆ ShaderProgramPtr

Enumeration Type Documentation

◆ ShaderType

Available shader type

Definition at line 18 of file ShaderConfiguration.hpp.

Function Documentation

◆ createCoreMeshFromGeometryData()

template<typename CoreMeshType >
CoreMeshType Ra::Engine::Data::createCoreMeshFromGeometryData ( const Ra::Core::Asset::GeometryData * data)

create a TriangleMesh, PolyMesh or other Core::*Mesh from GeometryData

Todo
replace the copy of all geometry data by reference to original data.

Definition at line 461 of file Mesh.hpp.

+ Here is the call graph for this function:

◆ createMeshFromGeometryData()

template<typename CoreMeshType >
RenderMeshType::getType< CoreMeshType >::Type * Ra::Engine::Data::createMeshFromGeometryData ( const std::string & name,
const Ra::Core::Asset::GeometryData * data )

create Mesh, PolyMesh Engine::Data::*Mesh * from GeometryData

Definition at line 527 of file Mesh.hpp.

+ Here is the call graph for this function:

◆ flip_horizontally()

template<typename T >
void Ra::Engine::Data::flip_horizontally ( T * img,
size_t w,
size_t h,
size_t c )

Definition at line 35 of file EnvironmentTexture.cpp.

◆ getGLenumAsType()

ShaderType Ra::Engine::Data::getGLenumAsType ( GLenum type)

Definition at line 52 of file ShaderProgram.cpp.

◆ getTypeAsGLEnum()

GLenum Ra::Engine::Data::getTypeAsGLEnum ( ShaderType type)

Definition at line 27 of file ShaderProgram.cpp.

◆ operator<<()

std::ostream & Ra::Engine::Data::operator<< ( std::ostream & stream,
const ShaderConfiguration & config )

Definition at line 22 of file ShaderConfiguration.cpp.

◆ scalarVectorAdapter()

template<typename T , typename std::enable_if<!std::is_same< T, GL_SCALAR_PLAIN >::value >::type * = nullptr>
void Ra::Engine::Data::scalarVectorAdapter ( globjects::Program * prog,
const char * name,
const std::vector< T > & value )

Definition at line 335 of file ShaderProgram.cpp.

Variable Documentation

◆ materialName [1/4]

const std::string Ra::Engine::Data::materialName { "BlinnPhong" }
static

Definition at line 15 of file BlinnPhongMaterial.cpp.

◆ materialName [2/4]

const std::string Ra::Engine::Data::materialName { "Lambertian" }
static

Definition at line 14 of file LambertianMaterial.cpp.

◆ materialName [3/4]

const std::string Ra::Engine::Data::materialName { "Plain" }
static

Definition at line 15 of file PlainMaterial.cpp.

◆ materialName [4/4]

const std::string Ra::Engine::Data::materialName { "Volumetric" }
static

Definition at line 16 of file VolumetricMaterial.cpp.