Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaGergő Pintér Megváltozta több, mint 6 éve
1
gg004-Mesh project copy-paste-rename gg002-App folder
vcxproj, filters átnevezés solution/add existing project rename project working dir: $(SolutionDir) Project Properties/Configuration Properties/Debugging/Command Arguments ugyanaz build, run
2
gg004-Mesh project include
additional include C:/Program Files/Assimp/Include; linker general/additional library directories c:\Program Files\Assimp\lib\x86 input assimp.lib
3
Game class csak ezt az osztályt fogjuk átírni, hogy
betöltsön egy modellt kirajzolja a sima idle technikával
4
Game.cpp #include "DXUT.h" #include "Game.h"
#include <assimp/importer.hpp> #include <assimp/scene.h> #include <assimp/postProcess.h>
5
Game.cpp // continued from previous slide Assimp::Importer importer;
const aiScene* assScene = importer.ReadFile( App::getSystemEnvironment(). resolveMediaPath("giraffe.obj") , 0); // if the import failed if( !assScene || !assScene->HasMeshes() || assScene->mNumMeshes == 0) { MessageBox(); return E_FAIL; } // continued on next slide
6
Eredmény
7
Mesh modul használata ne manuálisan kelljen összerakni a buffereket
input layoutok medzselése shader/geometria kombinációk anyagrendszer
8
Game.h Egg::Mesh::InputBinder::P inputBinder;
Egg::Mesh::Shaded::P shadedMesh; // többi tagváltozó mehet a levesbe
9
Game.cpp HRESULT Game::createResources() {
using namespace Microsoft::WRL; inputBinder = Egg::Mesh::InputBinder::create(device); // assimp import ide jön Egg::Mesh::Geometry::P geometry = Egg::Mesh::Importer::fromAiMesh(device, assScene->mMeshes[0]);
10
Utána VS betöltés PS betöltés Egg::Mesh::Material létrehozása
ComPtr<ID3D11InputLayout> inputLayout = inputBinder->getCompatibleInputLayout( vertexShaderByteCode, geometry); shaded mesh létrehozása
11
Game::draw shadedMesh->draw(context);
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.