MeshLib
 
Loading...
Searching...
No Matches
MRIRenderObject.h File Reference
#include "MRMesh/MRFlagOperators.h"
#include "MRRenderModelParameters.h"
#include "MRMeshFwd.h"
#include "MRViewportId.h"
#include "MRVector2.h"
#include "MRVector4.h"
#include "MRAffineXf3.h"
#include <functional>
#include <typeindex>
#include <memory>

Go to the source code of this file.

Classes

struct  MR::BaseRenderParams
 Common rendering parameters for meshes and UI. More...
 
struct  MR::ModelBaseRenderParams
 
struct  MR::ModelRenderParams
 Mesh rendering parameters for primary rendering (as opposed to the picker). More...
 
struct  MR::BasicUiRenderTask
 IRenderObject::renderUi() can emit zero or more or more of those tasks. They are sorted by depth every frame. More...
 
struct  MR::BasicUiRenderTask::BackwardPassParams
 
struct  MR::UiRenderParams
 
struct  MR::UiRenderManager
 
class  MR::IRenderObject
 
class  MR::RenderObjectCombinator< Bases >
 
class  MR::RegisterRenderObjectConstructor
 

Namespaces

namespace  MR
 

Macros

#define MR_REGISTER_RENDER_OBJECT_IMPL(objectType, ...)    static MR::RegisterRenderObjectConstructor __objectRegistrator##objectType{typeid(objectType),makeRenderObjectConstructor<__VA_ARGS__>()};
 

Typedefs

using MR::IRenderObjectConstructorLambda = std::function<std::unique_ptr<IRenderObject>( const VisualObject& )>
 

Enumerations

enum class  MR::DepthFunction {
  MR::Never = 0 , MR::Less = 1 , MR::Equal = 2 , MR::Greater = 4 ,
  MR::LessOrEqual = Less | Equal , MR::GreaterOrEqual = Greater | Equal , MR::NotEqual = Less | Greater , MR::Always = Less | Equal | Greater ,
  MR::Default = 8
}
 

Functions

MRMESH_API std::unique_ptr< IRenderObjectMR::createRenderObject (const VisualObject &visObj, const std::type_index &type)
 
template<typename ObjectType >
std::unique_ptr< IRenderObjectMR::createRenderObject (const VisualObject &visObj)
 
template<typename RenderObjType >
IRenderObjectConstructorLambda MR::makeRenderObjectConstructor ()
 

Macro Definition Documentation

◆ MR_REGISTER_RENDER_OBJECT_IMPL

#define MR_REGISTER_RENDER_OBJECT_IMPL ( objectType,
... )    static MR::RegisterRenderObjectConstructor __objectRegistrator##objectType{typeid(objectType),makeRenderObjectConstructor<__VA_ARGS__>()};