|
Wildvine Engine
Referencia Doxygen del codigo propio de Wildvine Engine.
|
Coordina el ciclo de vida principal de Wildvine Engine. Más...
#include <BaseApp.h>
Diagrama de colaboración de BaseApp:Métodos públicos | |
| HRESULT | awake () |
| Prepara subsistemas previos al render. | |
| BaseApp ()=default | |
| void | destroy () |
| Libera recursos del motor en orden seguro de destruccion. | |
| std::string | getDefaultScenePath () const |
| Devuelve la ruta por defecto usada por el editor para persistencia rapida. | |
| void | handleEditorViewportResize () |
| Atiende cambios diferidos del viewport interno del editor. | |
| HRESULT | init () |
| Inicializa recursos graficos, escena, materiales y renderer. | |
| bool | loadScene (const std::string &path) |
| Carga una escena serializada previamente. | |
| void | onResize (unsigned int newW, unsigned int newH) |
| Reconstuye recursos dependientes de la resolucion principal. | |
| void | render () |
| Emite el frame actual en el viewport del editor y en el back buffer final. | |
| int | run (HINSTANCE hInst, int nCmdShow) |
| Ejecuta el bucle principal de la aplicacion. | |
| bool | saveScene (const std::string &path) |
| Serializa la escena actual a disco. | |
| void | update (float deltaTime) |
| Ejecuta la logica por frame y sincroniza GUI, camara y escena. | |
| ~BaseApp () | |
Métodos privados estáticos | |
| static LRESULT CALLBACK | WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) |
BaseApp inicializa la ventana, el dispositivo grafico, la interfaz del editor, la escena de prueba y el pipeline de render. Tambien administra el bucle principal de actualizacion, la serializacion basica de escena y la respuesta a cambios de tamano.
|
default |
|
inline |
| HRESULT BaseApp::awake | ( | ) |
S_OK si la aplicacion queda lista para continuar la inicializacion. Definición en la línea 14 del archivo BaseApp.cpp.
Hace referencia a SceneGraph::init(), m_sceneGraph y MESSAGE.
Referenciado por run().
| void BaseApp::destroy | ( | ) |
Definición en la línea 572 del archivo BaseApp.cpp.
Hace referencia a DepthStencilState::destroy(), DepthStencilView::destroy(), Device::destroy(), DeviceContext::destroy(), GUI::destroy(), EditorViewportPass::destroy(), RasterizerState::destroy(), ForwardRenderer::destroy(), Mesh::destroy(), RenderTargetView::destroy(), SamplerState::destroy(), SceneGraph::destroy(), ShaderProgram::destroy(), SwapChain::destroy(), Texture::destroy(), m_AlbedoSRV, m_AOSRV, m_backBuffer, m_cyberGunRenderMesh, m_defaultDepthStencil, m_defaultRasterizer, m_defaultSampler, m_depthStencil, m_depthStencilView, m_device, m_deviceContext, DeviceContext::m_deviceContext, m_drakefireAlbedoSRV, m_drakefireAOSRV, m_drakefireMetallicSRV, m_drakefireModel, m_drakefireNormalSRV, m_drakefireRenderMesh, m_drakefireRoughnessSRV, m_editorViewportPass, m_EmissiveSRV, m_forwardRenderer, m_gui, m_guiInitialized, m_MetallicSRV, m_model, m_NormalSRV, m_renderTargetView, m_RoughnessSRV, m_sceneGraph, m_shaderProgram y m_swapChain.
Referenciado por ~BaseApp().
| std::string BaseApp::getDefaultScenePath | ( | ) | const |
Definición en la línea 735 del archivo BaseApp.cpp.
| void BaseApp::handleEditorViewportResize | ( | ) |
Definición en la línea 703 del archivo BaseApp.cpp.
Hace referencia a EditorViewportPass::init(), m_device, m_deviceContext, DeviceContext::m_deviceContext, m_editorViewportPass, m_editorViewportResizePending, m_forwardRenderer, m_pendingViewportHeight, m_pendingViewportWidth, ForwardRenderer::resize() y EditorViewportPass::swap().
Referenciado por render().
| HRESULT BaseApp::init | ( | ) |
S_OK cuando todos los recursos base quedan listos. Definición en la línea 72 del archivo BaseApp.cpp.
Hace referencia a LayoutBuilder::Add(), Entity::addComponent(), SceneGraph::addEntity(), Alpha, MaterialParams::alphaCutoff, MaterialParams::ao, MaterialParams::baseColor, Texture::CreateCubemap(), Mesh::destroy(), Directional, MaterialParams::emissiveStrength, ERROR, FBX, EU::TSharedPointer< T >::get(), Entity::getComponent(), getDefaultScenePath(), Model3D::GetMeshes(), MaterialInstance::getParams(), Mesh::getSubmeshes(), Viewport::init(), ForwardRenderer::init(), SamplerState::init(), DepthStencilState::init(), Buffer::init(), ShaderProgram::init(), Texture::init(), SwapChain::init(), Skybox::init(), RenderTargetView::init(), DepthStencilView::init(), EditorViewportPass::init(), RasterizerState::init(), EU::TSharedPointer< T >::isNull(), JPG, CBMain::LightColor, CBMain::LightDir, Model3D::load(), loadScene(), m_actors, m_AlbedoSRV, m_AOSRV, m_backBuffer, m_camera, m_constantBuffer, m_constantBufferStruct, m_cyberGun, m_cyberGunMaterial, m_cyberGunRenderMesh, m_d3dReady, m_defaultDepthStencil, m_defaultRasterizer, m_defaultSampler, m_depthStencil, m_depthStencilView, m_device, m_deviceContext, m_directionalLightActor, m_drakefireAlbedoSRV, m_drakefireAOSRV, m_drakefireMaterial, m_drakefireMetallicSRV, m_drakefireModel, m_drakefireNormalSRV, m_drakefirePistol, m_drakefireRenderMesh, m_drakefireRoughnessSRV, m_editorViewportPass, m_EmissiveSRV, m_forwardRenderer, Window::m_height, m_MetallicSRV, m_model, m_NormalSRV, m_pbrMaterial, m_renderTargetView, m_RoughnessSRV, m_sceneGraph, m_shaderProgram, m_skybox, m_skyboxTex, m_swapChain, Texture::m_textureFromImg, m_transparentPbrMaterial, m_viewport, Window::m_width, m_window, MESSAGE, MaterialParams::metallic, MaterialParams::normalScale, OBJ, Opaque, PNG, MaterialParams::roughness, MaterialInstance::setAlbedo(), MaterialInstance::setAO(), Material::setBlendMode(), Material::setDepthStencilState(), Material::setDomain(), MaterialInstance::setEmissive(), Camera::setLens(), MaterialInstance::setMaterial(), MaterialInstance::setMetallic(), Actor::setName(), MaterialInstance::setNormal(), Camera::setPosition(), Material::setRasterizerState(), MaterialInstance::setRoughness(), Material::setSamplerState(), Material::setShader(), Transparent y Submesh::vertexBuffer.
Referenciado por run().
| bool BaseApp::loadScene | ( | const std::string & | path | ) |
| path | Ruta del archivo .wvscene. |
true si el contenido se pudo leer y aplicar. Definición en la línea 821 del archivo BaseApp.cpp.
Hace referencia a MaterialParams::baseColor, Entity::getComponent(), EU::TSharedPointer< T >::isNull(), CBMain::LightColor, CBMain::LightDir, m_actors, m_constantBufferStruct, m_directionalLightActor, MESSAGE, Material::setBlendMode(), Material::setDomain(), EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
Referenciado por init().
| void BaseApp::onResize | ( | unsigned int | newW, |
| unsigned int | newH | ||
| ) |
| newW | Nuevo ancho del area cliente. |
| newH | Nuevo alto del area cliente. |
Definición en la línea 652 del archivo BaseApp.cpp.
Hace referencia a DepthStencilView::destroy(), RenderTargetView::destroy(), Texture::destroy(), SwapChain::getBackBuffer(), Viewport::init(), Texture::init(), RenderTargetView::init(), DepthStencilView::init(), m_backBuffer, m_camera, m_d3dReady, m_depthStencil, m_depthStencilView, m_device, m_deviceContext, DeviceContext::m_deviceContext, Window::m_height, m_renderTargetView, m_swapChain, SwapChain::m_swapChain, m_viewport, Window::m_width, m_window, SwapChain::resizeBuffers() y Camera::setLens().
Referenciado por WndProc().
| void BaseApp::render | ( | ) |
Definición en la línea 545 del archivo BaseApp.cpp.
Hace referencia a RenderScene::clear(), SceneGraph::gatherRenderScene(), handleEditorViewportResize(), m_camera, m_depthStencilView, m_deviceContext, m_editorViewportPass, m_forwardRenderer, m_gui, m_renderScene, m_renderTargetView, m_sceneGraph, m_skybox, m_swapChain, m_viewport, SwapChain::present(), GUI::render(), DepthStencilView::render(), Viewport::render(), ForwardRenderer::render(), RenderTargetView::render() y RenderScene::skybox.
Referenciado por run().
| int BaseApp::run | ( | HINSTANCE | hInst, |
| int | nCmdShow | ||
| ) |
| hInst | Instancia Win32 actual. |
| nCmdShow | Modo inicial de visualizacion de la ventana. |
Definición en la línea 26 del archivo BaseApp.cpp.
Hace referencia a awake(), ERROR, init(), Window::init(), GUI::init(), m_device, m_deviceContext, m_gui, m_guiInitialized, m_window, render(), update() y WndProc().
Referenciado por wWinMain().
| bool BaseApp::saveScene | ( | const std::string & | path | ) |
| path | Ruta de salida del archivo .wvscene. |
true si la escena se guarda correctamente. Definición en la línea 741 del archivo BaseApp.cpp.
Hace referencia a MaterialParams::alphaCutoff, MaterialParams::ao, MaterialParams::baseColor, ERROR, Material::getBlendMode(), Material::getDomain(), MaterialInstance::getMaterial(), MaterialInstance::getParams(), EU::TSharedPointer< T >::isNull(), CBMain::LightColor, CBMain::LightDir, m_actors, m_constantBufferStruct, MESSAGE, MaterialParams::metallic, MaterialParams::normalScale, MaterialParams::roughness, EU::Vector3::x, EU::Vector3::y y EU::Vector3::z.
Referenciado por update().
| void BaseApp::update | ( | float | deltaTime | ) |
| deltaTime | Tiempo transcurrido desde el frame anterior. |
Definición en la línea 450 del archivo BaseApp.cpp.
Hace referencia a CBMain::CameraPos, GUI::consumeSaveSceneRequest(), GUI::drawRenderDebugPanel(), GUI::drawViewportPanel(), GUI::editTransform(), Entity::getComponent(), getDefaultScenePath(), EditorViewportPass::getHeight(), Camera::getPosition(), ForwardRenderer::getPreShadowSRV(), Camera::getProj(), ForwardRenderer::getShadowMapSRV(), EditorViewportPass::getSRV(), Camera::getView(), EditorViewportPass::getWidth(), GUI::inspectorGeneral(), EU::TSharedPointer< T >::isNull(), CBMain::LightColor, CBMain::LightDir, m_actors, m_camera, m_constantBufferStruct, m_deviceContext, m_directionalLightActor, SwapChain::m_driverType, m_editorViewportPass, m_editorViewportResizePending, m_forwardRenderer, m_gui, m_lastRequestedViewportHeight, m_lastRequestedViewportWidth, m_pendingViewportHeight, m_pendingViewportWidth, m_sceneGraph, m_skybox, m_swapChain, m_viewport, m_viewportResizeStableFrames, GUI::m_viewportSize, m_window, GUI::outliner(), CBMain::Projection, saveScene(), GUI::selectedActorIndex, Skybox::update(), SceneGraph::update(), GUI::update(), Camera::updateViewMatrix(), GUI::vec3Control(), CBMain::View y EU::Vector3::x.
Referenciado por run().
|
staticprivate |
Definición en la línea 614 del archivo BaseApp.cpp.
Hace referencia a ImGui_ImplWin32_WndProcHandler() y onResize().
Referenciado por run().
|
private |
Definición en la línea 164 del archivo BaseApp.h.
Referenciado por init(), loadScene(), saveScene() y update().
|
private |
|
private |
|
private |
Definición en la línea 136 del archivo BaseApp.h.
Referenciado por destroy(), init() y onResize().
|
private |
|
private |
|
private |
|
private |
Definición en la línea 146 del archivo BaseApp.h.
Referenciado por init(), loadScene(), saveScene() y update().
|
private |
|
private |
|
private |
|
private |
Definición en la línea 144 del archivo BaseApp.h.
Referenciado por init() y onResize().
|
private |
|
private |
|
private |
|
private |
Definición en la línea 138 del archivo BaseApp.h.
Referenciado por destroy(), init() y onResize().
|
private |
|
private |
Definición en la línea 133 del archivo BaseApp.h.
Referenciado por destroy(), handleEditorViewportResize(), init(), onResize() y run().
|
private |
Definición en la línea 134 del archivo BaseApp.h.
Referenciado por destroy(), handleEditorViewportResize(), init(), onResize(), render(), run() y update().
|
private |
Definición en la línea 167 del archivo BaseApp.h.
Referenciado por init(), loadScene() y update().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definición en la línea 194 del archivo BaseApp.h.
Referenciado por handleEditorViewportResize() y update().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
Definición en la línea 196 del archivo BaseApp.h.
Referenciado por handleEditorViewportResize() y update().
|
private |
Definición en la línea 195 del archivo BaseApp.h.
Referenciado por handleEditorViewportResize() y update().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |