Ejemplo n.º 1
0
	void GameObject2::Create(){
		//メッシュの作成
		CreateCustomMesh();
		//シェーダーリソースビューの作成
		CreateShaderResView();
		m_WorldMatrix.DefTransformation(m_Scale, m_Quaternion, m_Position);
	}
Ejemplo n.º 2
0
	void GameObject::Create(){
		//メッシュの作成
		CreateCustomMesh();
		m_WorldMatrix.DefTransformation(m_Scale, m_Quaternion, m_Position);
	}
Ejemplo n.º 3
0
  csRef<iMeshWrapper> DynamicsDebugger::CreateColliderMesh
    (iDynamicsSystemCollider* collider, iMaterialWrapper* material)
  {
    csRef<iMeshWrapper> mesh;

    switch (collider->GetGeometryType ())
      {
      case BOX_COLLIDER_GEOMETRY:
	{
	  // Get box geometry
	  csVector3 boxSize;
	  collider->GetBoxGeometry (boxSize);
	  boxSize /= 2.0;
	  const csBox3 box(-boxSize, boxSize);

	  // Create box
	  mesh = CreateBoxMesh (box, material, collider->GetLocalTransform (),
				sector);
	}
	break;

      case SPHERE_COLLIDER_GEOMETRY:
	{
	  // Get sphere geometry
	  csSphere sphere;
	  collider->GetSphereGeometry (sphere);

	  // Create sphere
	  mesh = CreateSphereMesh (sphere, material, sector);
	}
	break;

      case CYLINDER_COLLIDER_GEOMETRY:
	{
	  // Get cylinder geometry
	  float length, radius;
	  collider->GetCylinderGeometry (length, radius);

	  // Create cylinder
	  mesh = CreateCylinderMesh (length, radius, material,
				     collider->GetLocalTransform (), sector);
	}
	break;

      case CAPSULE_COLLIDER_GEOMETRY:
	{
	  // Get capsule geometry
	  float length, radius;
	  collider->GetCapsuleGeometry (length, radius);

	  // Create capsule
	  mesh = CreateCapsuleMesh (length, radius, material,
				    collider->GetLocalTransform (), sector);
	}
	break;

      case TRIMESH_COLLIDER_GEOMETRY:
	{
	  // Get mesh geometry
	  csVector3* vertices = 0;
	  int* indices = 0;
	  size_t vertexCount, triangleCount;
	  collider->GetMeshGeometry (vertices, vertexCount, indices, triangleCount);

	  // Create mesh
	  mesh = CreateCustomMesh (vertices, vertexCount, indices, triangleCount,
				   material, collider->GetLocalTransform (), sector);
	}
	break;

      case CONVEXMESH_COLLIDER_GEOMETRY:
	{
	  // Get mesh geometry
	  csVector3* vertices = 0;
	  int* indices = 0;
	  size_t vertexCount, triangleCount;
	  collider->GetConvexMeshGeometry (vertices, vertexCount, indices, triangleCount);

	  // Create mesh
	  mesh = CreateCustomMesh (vertices, vertexCount, indices, triangleCount, material,
				   collider->GetLocalTransform (), sector);
	}
	break;

      default:
	// TODO: plan meshes
	break;
      }

    return mesh;
  }