Lines Matching defs:vertices

271 	TriangleVertex vertices[3];
436 void clipTriangleToPlane (std::vector<TriangleVertex>& clippedEdges, const TriangleVertex* vertices, const ClipVolumePlane& plane)
438 const bool v0Clipped = !plane.pointInClipVolume(vertices[0].position);
439 const bool v1Clipped = !plane.pointInClipVolume(vertices[1].position);
440 const bool v2Clipped = !plane.pointInClipVolume(vertices[2].position);
446 clippedEdges.insert(clippedEdges.begin(), vertices, vertices + 3);
451 if (v0Clipped) clipTriangleOneVertex(clippedEdges, plane, vertices[0], vertices[1], vertices[2]);
452 else if (v1Clipped) clipTriangleOneVertex(clippedEdges, plane, vertices[1], vertices[2], vertices[0]);
453 else clipTriangleOneVertex(clippedEdges, plane, vertices[2], vertices[0], vertices[1]);
457 // clip two vertices
458 if (!v0Clipped) clipTriangleTwoVertices(clippedEdges, plane, vertices[0], vertices[1], vertices[2]);
459 else if (!v1Clipped) clipTriangleTwoVertices(clippedEdges, plane, vertices[1], vertices[2], vertices[0]);
460 else clipTriangleTwoVertices(clippedEdges, plane, vertices[2], vertices[0], vertices[1]);
588 initialTri.vertices[0].position = vec4ToClipVec4(list[inputTriangleNdx].v0->position);
589 initialTri.vertices[0].weight[0] = (ClipFloat)1.0;
590 initialTri.vertices[0].weight[1] = (ClipFloat)0.0;
591 initialTri.vertices[0].weight[2] = (ClipFloat)0.0;
593 initialTri.vertices[1].position = vec4ToClipVec4(list[inputTriangleNdx].v1->position);
594 initialTri.vertices[1].weight[0] = (ClipFloat)0.0;
595 initialTri.vertices[1].weight[1] = (ClipFloat)1.0;
596 initialTri.vertices[1].weight[2] = (ClipFloat)0.0;
598 initialTri.vertices[2].position = vec4ToClipVec4(list[inputTriangleNdx].v2->position);
599 initialTri.vertices[2].weight[0] = (ClipFloat)0.0;
600 initialTri.vertices[2].weight[1] = (ClipFloat)0.0;
601 initialTri.vertices[2].weight[2] = (ClipFloat)1.0;
616 clipTriangleToPlane(convexPrimitive, subTriangles[subTriangleNdx].vertices, *planes[planeNdx]);
641 subsubTriangle.vertices[0] = v0;
642 subsubTriangle.vertices[1] = v1;
643 subsubTriangle.vertices[2] = v2;
662 p0->position = clipVec4ToVec4(subTriangles[subTriangleNdx].vertices[0].position);
663 p1->position = clipVec4ToVec4(subTriangles[subTriangleNdx].vertices[1].position);
664 p2->position = clipVec4ToVec4(subTriangles[subTriangleNdx].vertices[2].position);
674 p0->outputs[outputNdx] = (float)subTriangles[subTriangleNdx].vertices[0].weight[0] * out0
675 + (float)subTriangles[subTriangleNdx].vertices[0].weight[1] * out1
676 + (float)subTriangles[subTriangleNdx].vertices[0].weight[2] * out2;
678 p1->outputs[outputNdx] = (float)subTriangles[subTriangleNdx].vertices[1].weight[0] * out0
679 + (float)subTriangles[subTriangleNdx].vertices[1].weight[1] * out1
680 + (float)subTriangles[subTriangleNdx].vertices[1].weight[2] * out2;
682 p2->outputs[outputNdx] = (float)subTriangles[subTriangleNdx].vertices[2].weight[0] * out0
683 + (float)subTriangles[subTriangleNdx].vertices[2].weight[1] * out1
684 + (float)subTriangles[subTriangleNdx].vertices[2].weight[2] * out2;
860 void makeSharedVerticeDistinct (VertexPacket*& packet, std::set<VertexPacket*, std::less<void*> >& vertices, VertexPacketAllocator& vpalloc)
863 if (vertices.find(packet) == vertices.end())
865 vertices.insert(packet);
879 // no need to insert new packet to "vertices" as newPacket is unique
884 void makeSharedVerticesDistinct (pa::Triangle& target, std::set<VertexPacket*, std::less<void*> >& vertices, VertexPacketAllocator& vpalloc)
886 makeSharedVerticeDistinct(target.v0, vertices, vpalloc);
887 makeSharedVerticeDistinct(target.v1, vertices, vpalloc);
888 makeSharedVerticeDistinct(target.v2, vertices, vpalloc);
891 void makeSharedVerticesDistinct (pa::Line& target, std::set<VertexPacket*, std::less<void*> >& vertices, VertexPacketAllocator& vpalloc)
893 makeSharedVerticeDistinct(target.v0, vertices, vpalloc);
894 makeSharedVerticeDistinct(target.v1, vertices, vpalloc);
897 void makeSharedVerticesDistinct (pa::Point& target, std::set<VertexPacket*, std::less<void*> >& vertices, VertexPacketAllocator& vpalloc)
899 makeSharedVerticeDistinct(target.v0, vertices, vpalloc);
905 std::set<VertexPacket*, std::less<void*> > vertices;
908 makeSharedVerticesDistinct(*it, vertices, vpalloc);
1342 // Transform vertices to window coords
1386 void drawGeometryShaderOutputAsPrimitives (const RenderState& state, const RenderTarget& renderTarget, const Program& program, VertexPacket* const* vertices, size_t numVertices, VertexPacketAllocator& vpalloc)
1393 PrimitiveTypeTraits<DrawPrimitiveType>::Assembler::exec(inputPrimitives.begin(), vertices, numVertices, state.provokingVertexConvention); // \note input Primitives are baseType_t => only basic primitives (non adjacency) will compile
1395 // Make shared vertices distinct
1419 copyVertexPacketPointers(primitives[primitiveNdx].vertices, input[primitiveNdx]);
1431 // Find primitives in the emitted vertices
1473 void drawAsPrimitives (const RenderState& state, const RenderTarget& renderTarget, const Program& program, VertexPacket* const* vertices, int numVertices, DrawContext& drawContext, VertexPacketAllocator& vpalloc)
1479 PrimitiveTypeTraits<DrawPrimitiveType>::Assembler::exec(inputPrimitives.begin(), vertices, (size_t)numVertices, state.provokingVertexConvention);
1498 // Make shared vertices distinct. Needed for that the translation to screen space happens only once per vertex, and for flatshading
1765 // collect primitive vertices until restart
1788 // Transform vertices