MQEngine
载入中...
搜索中...
未找到
MQEngine::Engine类 参考

#include <engine.h>

MQEngine::Engine 的协作图:

Public 成员函数

 Engine (const Engine &)=delete
Engineoperator= (const Engine &)=delete
void loop ()

静态 Public 成员函数

static EnginegetInstance ()

Private 成员函数

void init (Application *application)
void term ()
void settingUpEnv ()
void settingUpLayout ()
void settingUpPass ()
void settingUpResources ()
void settingUpSync ()
void settingUpSubmitTicker ()
void initUniformValue ()
void logicTick ()
 Engine ()=default
 ~Engine ()=default

Private 属性

Applicationm_application
FCT::Runtime m_rt
SystemManager m_systemManager
FCT::Window * m_wnd
FCT::Context * m_ctx
FCT::StaticMesh< uint32_t > * m_mesh
FCT::StaticMesh< uint32_t > * m_floor
FCT::VertexLayout vertexLayout
FCT::PixelLayout pixelLayout
FCT::Sampler * m_shadowSampler
FCT::ShaderRef m_vs
FCT::ShaderRef m_ps
FCT::ShaderRef m_vsShadow
FCT::ConstLayout m_shadowConstLayout
FCT::RHI::RasterizationPipeline * m_pipeline
FCT::UniformBuffer * m_uniform
FCT::RHI::ConstBuffer * m_constBuffer
FCT::Vec4 m_lightPos
FCT::AutoViewport * m_autoViewport
int m_lightType = 1
FCT::Uniform m_shadowUniform
FCT::Uniform m_baseUniform
FCT::Layout * m_layout
FCT::Layout * m_shadowLayout
float m_lightDistance = 40.0f
float m_ambientColor [3] = { 0.2f, 0.2f, 0.2f }
float m_diffuseColor [3] = { 0.5f, 0.5f, 0.5f }
float m_specularColor [3] = { 1.0f, 1.0f, 1.0f }
float m_shininess = 32.0f
float m_constant = 1.0f
float m_linearAttenuation = 0.09f
float m_quadratic = 0.032f
float m_cutOffAngle = 45.0f

静态 Private 属性

static Engines_instance = nullptr

友元

class EngineScope

构造及析构函数说明

◆ Engine() [1/2]

MQEngine::Engine::Engine ( const Engine & )
delete
函数调用图:
这是这个函数的调用关系图:

◆ Engine() [2/2]

MQEngine::Engine::Engine ( )
privatedefault

◆ ~Engine()

MQEngine::Engine::~Engine ( )
privatedefault

成员函数说明

◆ getInstance()

Engine & MQEngine::Engine::getInstance ( )
static
这是这个函数的调用关系图:

◆ init()

void MQEngine::Engine::init ( Application * application)
private
这是这个函数的调用关系图:

◆ initUniformValue()

void MQEngine::Engine::initUniformValue ( )
private
这是这个函数的调用关系图:

◆ logicTick()

void MQEngine::Engine::logicTick ( )
private
这是这个函数的调用关系图:

◆ loop()

void MQEngine::Engine::loop ( )
这是这个函数的调用关系图:

◆ operator=()

Engine & MQEngine::Engine::operator= ( const Engine & )
delete
函数调用图:

◆ settingUpEnv()

void MQEngine::Engine::settingUpEnv ( )
private
这是这个函数的调用关系图:

◆ settingUpLayout()

void MQEngine::Engine::settingUpLayout ( )
private
这是这个函数的调用关系图:

◆ settingUpPass()

void MQEngine::Engine::settingUpPass ( )
private
这是这个函数的调用关系图:

◆ settingUpResources()

void MQEngine::Engine::settingUpResources ( )
private
这是这个函数的调用关系图:

◆ settingUpSubmitTicker()

void MQEngine::Engine::settingUpSubmitTicker ( )
private
这是这个函数的调用关系图:

◆ settingUpSync()

void MQEngine::Engine::settingUpSync ( )
private
这是这个函数的调用关系图:

◆ term()

void MQEngine::Engine::term ( )
private
这是这个函数的调用关系图:

◆ EngineScope

friend class EngineScope
friend

类成员变量说明

◆ m_ambientColor

float MQEngine::Engine::m_ambientColor[3] = { 0.2f, 0.2f, 0.2f }
private

◆ m_application

Application* MQEngine::Engine::m_application
private

◆ m_autoViewport

FCT::AutoViewport* MQEngine::Engine::m_autoViewport
private

◆ m_baseUniform

FCT::Uniform MQEngine::Engine::m_baseUniform
private

◆ m_constant

float MQEngine::Engine::m_constant = 1.0f
private

◆ m_constBuffer

FCT::RHI::ConstBuffer* MQEngine::Engine::m_constBuffer
private

◆ m_ctx

FCT::Context* MQEngine::Engine::m_ctx
private

◆ m_cutOffAngle

float MQEngine::Engine::m_cutOffAngle = 45.0f
private

◆ m_diffuseColor

float MQEngine::Engine::m_diffuseColor[3] = { 0.5f, 0.5f, 0.5f }
private

◆ m_floor

FCT::StaticMesh<uint32_t>* MQEngine::Engine::m_floor
private

◆ m_layout

FCT::Layout* MQEngine::Engine::m_layout
private

◆ m_lightDistance

float MQEngine::Engine::m_lightDistance = 40.0f
private

◆ m_lightPos

FCT::Vec4 MQEngine::Engine::m_lightPos
private

◆ m_lightType

int MQEngine::Engine::m_lightType = 1
private

◆ m_linearAttenuation

float MQEngine::Engine::m_linearAttenuation = 0.09f
private

◆ m_mesh

FCT::StaticMesh<uint32_t>* MQEngine::Engine::m_mesh
private

◆ m_pipeline

FCT::RHI::RasterizationPipeline* MQEngine::Engine::m_pipeline
private

◆ m_ps

FCT::ShaderRef MQEngine::Engine::m_ps
private

◆ m_quadratic

float MQEngine::Engine::m_quadratic = 0.032f
private

◆ m_rt

FCT::Runtime MQEngine::Engine::m_rt
private

◆ m_shadowConstLayout

FCT::ConstLayout MQEngine::Engine::m_shadowConstLayout
private
初始值:
= {
"ShadowUniform",
FCT::ConstElement{FCT::ConstType::MVPMatrix,"lightMvp"},
}

◆ m_shadowLayout

FCT::Layout* MQEngine::Engine::m_shadowLayout
private

◆ m_shadowSampler

FCT::Sampler* MQEngine::Engine::m_shadowSampler
private

◆ m_shadowUniform

FCT::Uniform MQEngine::Engine::m_shadowUniform
private

◆ m_shininess

float MQEngine::Engine::m_shininess = 32.0f
private

◆ m_specularColor

float MQEngine::Engine::m_specularColor[3] = { 1.0f, 1.0f, 1.0f }
private

◆ m_systemManager

SystemManager MQEngine::Engine::m_systemManager
private

◆ m_uniform

FCT::UniformBuffer* MQEngine::Engine::m_uniform
private

◆ m_vs

FCT::ShaderRef MQEngine::Engine::m_vs
private

◆ m_vsShadow

FCT::ShaderRef MQEngine::Engine::m_vsShadow
private

◆ m_wnd

FCT::Window* MQEngine::Engine::m_wnd
private

◆ pixelLayout

FCT::PixelLayout MQEngine::Engine::pixelLayout
private
初始值:
= {
FCT::VertexElement{FCT::VtxType::Custom,"srcpos",FCT::Format::R32G32B32A32_SFLOAT},
FCT::VertexElement{FCT::VtxType::Custom,"shadowPos",FCT::Format::R32G32B32A32_SFLOAT},
}
FCT::VertexLayout vertexLayout
定义 engine.h:47

◆ s_instance

Engine * MQEngine::Engine::s_instance = nullptr
staticprivate

◆ vertexLayout

FCT::VertexLayout MQEngine::Engine::vertexLayout
private
初始值:
= {
FCT::VertexElement{FCT::VtxType::Color4f,"color"},
FCT::VertexElement{FCT::VtxType::Position4f,"position"},
FCT::VertexElement{FCT::VtxType::TexCoord2f,"texCoord"},
FCT::VertexElement{FCT::VtxType::Normal3f,"normal"},
}

该类的文档由以下文件生成: