当前位置: 首页>>代码示例>>C++>>正文


C++ Batch::addNormal方法代码示例

本文整理汇总了C++中Batch::addNormal方法的典型用法代码示例。如果您正苦于以下问题:C++ Batch::addNormal方法的具体用法?C++ Batch::addNormal怎么用?C++ Batch::addNormal使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Batch的用法示例。


在下文中一共展示了Batch::addNormal方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: model

Model* DAEFile::model(unsigned int label) {
  domCOLLADA::domSceneRef scene = root->getScene();
  domVisual_scene* vscene = daeSafeCast<domVisual_scene>(scene->getInstance_visual_scene()->getUrl().getElement());
  
  Model* model = new Model(label);
  domNode_Array nodeArray = vscene->getNode_array();
  size_t nodeCount = nodeArray.getCount();
  for (int nodei = 0; nodei < nodeCount; nodei++) {
    domNodeRef domNode = nodeArray.get(nodei);
    DAENode node = DAENode(domNode);
    
    Batch* batch = new Batch();
    batch->setScale(node.scale());
    
    if (!node.geometry().material().hasTexture()) {
      glm::vec4 diffuse = node.geometry().material().diffuse();
      batch->setDiffuse(diffuse.r, diffuse.g, diffuse.b, diffuse.a);
    } else {
      batch->setTexture(node.geometry().material().diffuseTexture().filename());
    }
    
    DAEGeometry::VertexList vertices = node.geometry().vertices();
    for (DAEGeometry::VertexList::iterator i = vertices.begin(); i != vertices.end(); ++i) {
      batch->addVertex((*i).x, (*i).y, (*i).z);
    }
    
    DAEGeometry::VertexList normals = node.geometry().normals();
    for (DAEGeometry::VertexList::iterator i = normals.begin(); i != normals.end(); ++i) {
      batch->addNormal((*i).x, (*i).y, (*i).z);
    }
    
    DAEGeometry::VertexList texels = node.geometry().texels();
    for (DAEGeometry::VertexList::iterator i = texels.begin(); i != texels.end(); ++i) {
      batch->addTexel((*i).s, (*i).t);
    }
    
    batch->finalize();
    model->addBatch(batch);
  }  
  return model;
};
开发者ID:nkostelnik,项目名称:scene,代码行数:41,代码来源:DAEImporter.cpp


注:本文中的Batch::addNormal方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。