67 run(HINSTANCE hInst,
int nCmdShow);
101 onResize(
unsigned int newW,
unsigned int newH);
127 static LRESULT CALLBACK
128 WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
Declara la API de Actor dentro del subsistema ECS.
IMGUI_IMPL_API LRESULT ImGui_ImplWin32_WndProcHandler(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Declara la API de Buffer dentro del subsistema Core.
Declara la API de Camera dentro del subsistema Utilities.
Declara la API de DepthStencilView dentro del subsistema Core.
Declara la API de DeviceContext dentro del subsistema Core.
Declara la API de Device dentro del subsistema Core.
Declara la API de EditorViewportPass dentro del subsistema Utilities.
Declara la API de ForwardRenderer dentro del subsistema Rendering.
Declara la API de GUI dentro del subsistema GUI.
Declara la API de LayoutBuilder dentro del subsistema Utilities.
Declara la API de LightComponent dentro del subsistema ECS.
Declara la API de MaterialInstance dentro del subsistema Rendering.
Declara la API de Material dentro del subsistema Rendering.
Declara la API de MeshComponent dentro del subsistema Core.
Declara la API de MeshRendererComponent dentro del subsistema ECS.
Declara la API de Mesh dentro del subsistema Rendering.
Declara la API de Model3D dentro del subsistema Core.
Declara la API de Prerequisites dentro del subsistema Core.
Declara la API de RenderScene dentro del subsistema Rendering.
Declara la API de RenderTargetView dentro del subsistema Core.
Declara la API de SamplerState dentro del subsistema Core.
Declara la API de SceneGraph dentro del subsistema SceneGraph.
Declara la API de ShaderProgram dentro del subsistema Core.
Declara la API de Skybox dentro del subsistema Utilities.
Declara la API de SwapChain dentro del subsistema Core.
Declara la API de Texture dentro del subsistema Core.
Declara la API de Viewport dentro del subsistema Core.
Declara la API de Window dentro del subsistema Core.
Coordina el ciclo de vida principal de Wildvine Engine.
MaterialInstance m_drakefireMaterial
bool loadScene(const std::string &path)
Carga una escena serializada previamente.
DeviceContext m_deviceContext
unsigned int m_lastRequestedViewportWidth
Texture m_drakefireAlbedoSRV
Texture m_drakefireMetallicSRV
SamplerState m_defaultSampler
HRESULT init()
Inicializa recursos graficos, escena, materiales y renderer.
void handleEditorViewportResize()
Atiende cambios diferidos del viewport interno del editor.
DepthStencilView m_depthStencilView
int run(HINSTANCE hInst, int nCmdShow)
Ejecuta el bucle principal de la aplicacion.
void render()
Emite el frame actual en el viewport del editor y en el back buffer final.
void destroy()
Libera recursos del motor en orden seguro de destruccion.
bool saveScene(const std::string &path)
Serializa la escena actual a disco.
MaterialInstance m_cyberGunMaterial
Mesh m_cyberGunRenderMesh
std::string getDefaultScenePath() const
Devuelve la ruta por defecto usada por el editor para persistencia rapida.
int m_viewportResizeStableFrames
unsigned int m_pendingViewportHeight
RenderTargetView m_renderTargetView
Material m_transparentPbrMaterial
ForwardRenderer m_forwardRenderer
DepthStencilState m_defaultDepthStencil
EU::TSharedPointer< Actor > m_cyberGun
RasterizerState m_defaultRasterizer
RenderScene m_renderScene
EU::TSharedPointer< Actor > m_directionalLightActor
void onResize(unsigned int newW, unsigned int newH)
Reconstuye recursos dependientes de la resolucion principal.
unsigned int m_pendingViewportWidth
static LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
bool m_editorViewportResizePending
CBMain m_constantBufferStruct
Model3D * m_drakefireModel
EU::TSharedPointer< Actor > m_drakefirePistol
ShaderProgram m_shaderProgram
unsigned int m_lastRequestedViewportHeight
Texture m_drakefireNormalSRV
void update(float deltaTime)
Ejecuta la logica por frame y sincroniza GUI, camara y escena.
Texture m_drakefireRoughnessSRV
Mesh m_drakefireRenderMesh
HRESULT awake()
Prepara subsistemas previos al render.
EditorViewportPass m_editorViewportPass
std::vector< EU::TSharedPointer< Actor > > m_actors
Encapsula un ID3D11Buffer para vértices, índices o constantes, incluyendo creación, actualización y enlace.
Encapsula un ID3D11DepthStencilState y su ciclo de vida para la etapa Output-Merger.
Encapsula un ID3D11DepthStencilView para usar un recurso de profundidad/esténcil en el pipeline.
Encapsula un ID3D11Device y facilita la creación de recursos gráficos en Direct3D 11.
Clase TSharedPointer para manejar la gestión de memoria compartida.
Ejecuta el pipeline de render forward del motor.
Centraliza la interfaz del editor construida sobre ImGui e ImGuizmo.
Agrupa un material base con sus texturas y parametros concretos.
Describe el estado fijo compartido por una o mas instancias de material.
Agrupa una coleccion de submallas listas para ser renderizadas.
Contenedor temporal con los elementos visibles de un frame.
Encapsula un ID3D11SamplerState para la etapa de muestreo de texturas en Direct3D 11.
Administra la jerarquia de entidades y su actualizacion espacial.
Encapsula la creación, compilación y uso de Vertex Shader y Pixel Shader en Direct3D 11.
Encapsula un IDXGISwapChain en Direct3D 11 para administrar buffers de presentación.
Encapsula una textura 2D en Direct3D 11, incluyendo su recurso y vista como Shader Resource.
Encapsula un D3D11_VIEWPORT para definir la región de renderizado en la pantalla.
Encapsula la creacion y administracion de la ventana principal de Win32.