mirror of
https://github.com/id-Software/DOOM-3-BFG.git
synced 2025-03-15 07:00:58 +00:00
Astyle
This commit is contained in:
parent
e5ecb219e5
commit
35d809a145
3 changed files with 61 additions and 38 deletions
|
@ -813,14 +813,16 @@ public:
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
gltfNode *GetNode(gltfScene * scene ,gltfMesh * mesh) {
|
||||
gltfNode* GetNode( gltfScene* scene , gltfMesh* mesh )
|
||||
{
|
||||
assert( scene );
|
||||
assert( mesh );
|
||||
|
||||
auto & nodeList = scene->nodes;
|
||||
for ( auto & nodeId : nodeList )
|
||||
auto& nodeList = scene->nodes;
|
||||
for( auto& nodeId : nodeList )
|
||||
{
|
||||
if ( nodes[nodeId]->mesh != -1 && *&meshes[nodes[nodeId]->mesh] == mesh ) {
|
||||
if( nodes[nodeId]->mesh != -1 &&*& meshes[nodes[nodeId]->mesh] == mesh )
|
||||
{
|
||||
return nodes[nodeId];
|
||||
}
|
||||
}
|
||||
|
@ -828,19 +830,24 @@ public:
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
gltfNode *GetNode(idStr sceneName, idStr name ) {
|
||||
int sceneId = GetSceneId(sceneName);
|
||||
if (sceneId < 0 || sceneId > scenes.Num() )
|
||||
gltfNode* GetNode( idStr sceneName, idStr name )
|
||||
{
|
||||
int sceneId = GetSceneId( sceneName );
|
||||
if( sceneId < 0 || sceneId > scenes.Num() )
|
||||
{
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
gltfScene *scene = scenes[sceneId];
|
||||
gltfScene* scene = scenes[sceneId];
|
||||
|
||||
assert( scene );
|
||||
assert( name[0] );
|
||||
|
||||
auto &nodeList = scene->nodes;
|
||||
for ( auto &nodeId : nodeList ) {
|
||||
if ( nodes[nodeId]->name == name ) {
|
||||
auto& nodeList = scene->nodes;
|
||||
for( auto& nodeId : nodeList )
|
||||
{
|
||||
if( nodes[nodeId]->name == name )
|
||||
{
|
||||
return nodes[nodeId];
|
||||
}
|
||||
}
|
||||
|
@ -848,13 +855,16 @@ public:
|
|||
return nullptr;
|
||||
}
|
||||
|
||||
gltfNode *GetNode( gltfScene *scene, idStr name) {
|
||||
gltfNode* GetNode( gltfScene* scene, idStr name )
|
||||
{
|
||||
assert( scene );
|
||||
assert( name[0] );
|
||||
|
||||
auto &nodeList = scene->nodes;
|
||||
for ( auto &nodeId : nodeList ) {
|
||||
if ( nodes[nodeId]->name == name ) {
|
||||
auto& nodeList = scene->nodes;
|
||||
for( auto& nodeId : nodeList )
|
||||
{
|
||||
if( nodes[nodeId]->name == name )
|
||||
{
|
||||
return nodes[nodeId];
|
||||
}
|
||||
}
|
||||
|
@ -1026,8 +1036,8 @@ private:
|
|||
idList<gltfData*> assetData;
|
||||
idList<gltfSampler*> samplers;
|
||||
idList<gltfBufferView*> bufferViews;
|
||||
idList<gltfTexture *> textures;
|
||||
idList<gltfAccessor *> accessors;
|
||||
idList<gltfTexture*> textures;
|
||||
idList<gltfAccessor*> accessors;
|
||||
idList<gltfExtensionsUsed*> extensionsUsed;
|
||||
idList<gltfMesh*> meshes;
|
||||
int scene;
|
||||
|
|
|
@ -231,7 +231,7 @@ MapPolygonMesh* MapPolygonMesh::ConvertFromMeshGltf( const gltfMesh_Primitive* p
|
|||
return mesh;
|
||||
}
|
||||
|
||||
void ProcessSceneNode( idMapEntity* newEntity, gltfNode* node, idMat4 & trans, gltfData* data , bool staticMesh = false )
|
||||
void ProcessSceneNode( idMapEntity* newEntity, gltfNode* node, idMat4& trans, gltfData* data , bool staticMesh = false )
|
||||
{
|
||||
auto& nodeList = data->NodeList( );
|
||||
|
||||
|
@ -378,7 +378,7 @@ bool gltfManager::ExtractMeshIdentifier( idStr& filename, int& meshId, idStr& me
|
|||
return false;
|
||||
}
|
||||
|
||||
void idRenderModelGLTF::ProcessNode( gltfNode * modelNode, idMat4 trans, gltfData * data )
|
||||
void idRenderModelGLTF::ProcessNode( gltfNode* modelNode, idMat4 trans, gltfData* data )
|
||||
{
|
||||
auto& meshList = data->MeshList();
|
||||
auto& nodeList = data->NodeList( );
|
||||
|
@ -386,25 +386,30 @@ void idRenderModelGLTF::ProcessNode( gltfNode * modelNode, idMat4 trans, gltfDat
|
|||
gltfData::ResolveNodeMatrix( modelNode );
|
||||
idMat4 curTrans = trans * modelNode->matrix;
|
||||
|
||||
gltfMesh *targetMesh = meshList[modelNode->mesh];
|
||||
gltfMesh* targetMesh = meshList[modelNode->mesh];
|
||||
|
||||
for ( auto prim : targetMesh->primitives ) {
|
||||
for( auto prim : targetMesh->primitives )
|
||||
{
|
||||
|
||||
auto *newMesh = MapPolygonMesh::ConvertFromMeshGltf( prim, data, curTrans );
|
||||
auto* newMesh = MapPolygonMesh::ConvertFromMeshGltf( prim, data, curTrans );
|
||||
modelSurface_t surf;
|
||||
|
||||
gltfMaterial *mat = NULL;
|
||||
if ( prim->material != -1 ) {
|
||||
gltfMaterial* mat = NULL;
|
||||
if( prim->material != -1 )
|
||||
{
|
||||
mat = data->MaterialList( )[prim->material];
|
||||
}
|
||||
if ( mat != NULL && !gltf_ForceBspMeshTexture.GetBool( ) ) {
|
||||
if( mat != NULL && !gltf_ForceBspMeshTexture.GetBool( ) )
|
||||
{
|
||||
surf.shader = declManager->FindMaterial( mat->name );
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
surf.shader = declManager->FindMaterial( "textures/base_wall/snpanel2rust" );
|
||||
}
|
||||
surf.id = this->NumSurfaces( );
|
||||
|
||||
srfTriangles_t *tri = R_AllocStaticTriSurf( );
|
||||
srfTriangles_t* tri = R_AllocStaticTriSurf( );
|
||||
tri->numIndexes = newMesh->GetNumPolygons( ) * 3;
|
||||
tri->numVerts = newMesh->GetNumVertices( );
|
||||
|
||||
|
@ -412,16 +417,18 @@ void idRenderModelGLTF::ProcessNode( gltfNode * modelNode, idMat4 trans, gltfDat
|
|||
R_AllocStaticTriSurfVerts( tri, tri->numVerts );
|
||||
|
||||
int indx = 0;
|
||||
for ( int i = 0; i < newMesh->GetNumPolygons( ); i++ ) {
|
||||
auto &face = newMesh->GetFace( i );
|
||||
auto &faceIdxs = face.GetIndexes( );
|
||||
for( int i = 0; i < newMesh->GetNumPolygons( ); i++ )
|
||||
{
|
||||
auto& face = newMesh->GetFace( i );
|
||||
auto& faceIdxs = face.GetIndexes( );
|
||||
tri->indexes[indx] = faceIdxs[0];
|
||||
tri->indexes[indx + 1] = faceIdxs[1];
|
||||
tri->indexes[indx + 2] = faceIdxs[2];
|
||||
indx += 3;
|
||||
}
|
||||
|
||||
for ( int i = 0; i < tri->numVerts; ++i ) {
|
||||
for( int i = 0; i < tri->numVerts; ++i )
|
||||
{
|
||||
tri->verts[i] = newMesh->GetDrawVerts( )[i];
|
||||
tri->bounds.AddPoint( tri->verts[i].xyz );
|
||||
}
|
||||
|
@ -432,7 +439,8 @@ void idRenderModelGLTF::ProcessNode( gltfNode * modelNode, idMat4 trans, gltfDat
|
|||
AddSurface( surf );
|
||||
}
|
||||
|
||||
for ( auto &child : modelNode->children ) {
|
||||
for( auto& child : modelNode->children )
|
||||
{
|
||||
ProcessNode( nodeList[child], curTrans, data );
|
||||
}
|
||||
}
|
||||
|
@ -461,11 +469,16 @@ void idRenderModelGLTF::InitFromFile( const char* fileName )
|
|||
|
||||
bounds.Clear( );
|
||||
|
||||
gltfNode * modelNode = data->GetNode("models",meshName);\
|
||||
if ( modelNode )
|
||||
ProcessNode(modelNode,mat4_identity,data);
|
||||
gltfNode* modelNode = data->GetNode( "models", meshName );
|
||||
\
|
||||
if( modelNode )
|
||||
{
|
||||
ProcessNode( modelNode, mat4_identity, data );
|
||||
}
|
||||
else
|
||||
common->Warning(" gltfNode %s not found in models scene" );
|
||||
{
|
||||
common->Warning( " gltfNode %s not found in models scene" );
|
||||
}
|
||||
|
||||
//skin
|
||||
//gltfNode * modelNode = data->GetNode(data->SceneList()[data->GetSceneId("models")],targetMesh);
|
||||
|
|
|
@ -42,6 +42,6 @@ public:
|
|||
{
|
||||
return false;
|
||||
}
|
||||
private:
|
||||
void ProcessNode( gltfNode * modelNode, idMat4 trans, gltfData * data );
|
||||
private:
|
||||
void ProcessNode( gltfNode* modelNode, idMat4 trans, gltfData* data );
|
||||
};
|
Loading…
Reference in a new issue