Пример #1
0
        /// <summary>
        /// Write a single point to buffer.
        /// </summary>
        /// <param name="srcPoint">Source point.</param>
        /// <param name="dstPlane">Destination plane buffer.</param>
        /// <implementation>
        /// Vector coordinates are divided by 256.0f, and texture coordinates by 16.0f.
        /// </implementation>
        private int WritePoint(ref FaceUVTool.DFPurePoint srcPoint, ref DFPlaneBuffer dstPlane)
        {
            // Copy point data
            int pointPos = dstPlane.PointCount;

            dstPlane.PointBuffer[pointPos].X  = srcPoint.x / pointDivisor;
            dstPlane.PointBuffer[pointPos].Y  = srcPoint.y / pointDivisor;
            dstPlane.PointBuffer[pointPos].Z  = srcPoint.z / pointDivisor;
            dstPlane.PointBuffer[pointPos].NX = srcPoint.nx / pointDivisor;
            dstPlane.PointBuffer[pointPos].NY = srcPoint.ny / pointDivisor;
            dstPlane.PointBuffer[pointPos].NZ = srcPoint.nz / pointDivisor;
            dstPlane.PointBuffer[pointPos].U  = srcPoint.u / textureDivisor;
            dstPlane.PointBuffer[pointPos].V  = srcPoint.v / textureDivisor;
            dstPlane.PointCount++;

            return(pointPos);
        }
Пример #2
0
        /// <summary>
        /// Write a single point to buffer.
        /// </summary>
        /// <param name="SrcPoint">Source point.</param>
        /// <param name="DstPlane">Destination plane buffer.</param>
        /// <implementation>
        /// Vector coordinates are divided by 256.0f, and texture coordinates by 16.0f.
        /// </implementation>
        private int WritePoint(ref FaceUVTool.DFPurePoint SrcPoint, ref DFPlaneBuffer DstPlane)
        {
            // Copy point data
            int pointPos = DstPlane.PointCount;

            DstPlane.PointBuffer[pointPos].X  = SrcPoint.x / PointDivisor;
            DstPlane.PointBuffer[pointPos].Y  = SrcPoint.y / PointDivisor;
            DstPlane.PointBuffer[pointPos].Z  = SrcPoint.z / PointDivisor;
            DstPlane.PointBuffer[pointPos].NX = SrcPoint.nx / PointDivisor;
            DstPlane.PointBuffer[pointPos].NY = SrcPoint.ny / PointDivisor;
            DstPlane.PointBuffer[pointPos].NZ = SrcPoint.nz / PointDivisor;
            DstPlane.PointBuffer[pointPos].U  = SrcPoint.u / TextureDivisor;
            DstPlane.PointBuffer[pointPos].V  = SrcPoint.v / TextureDivisor;
            DstPlane.PointCount++;

            return(pointPos);
        }
Пример #3
0
        /// <summary>
        /// Write a single point to buffer.
        /// </summary>
        /// <param name="srcPoint">Source point.</param>
        /// <param name="dstPlane">Destination plane buffer.</param>
        /// <implementation>
        /// Vector coordinates are divided by 256.0f, and texture coordinates by 16.0f.
        /// </implementation>
        private int WritePoint(ref FaceUVTool.DFPurePoint srcPoint, ref DFPlaneBuffer dstPlane)
        {
            // Copy point data
            int pointPos = dstPlane.PointCount;
            dstPlane.PointBuffer[pointPos].X = srcPoint.x / pointDivisor;
            dstPlane.PointBuffer[pointPos].Y = srcPoint.y / pointDivisor;
            dstPlane.PointBuffer[pointPos].Z = srcPoint.z / pointDivisor;
            dstPlane.PointBuffer[pointPos].NX = srcPoint.nx / pointDivisor;
            dstPlane.PointBuffer[pointPos].NY = srcPoint.ny / pointDivisor;
            dstPlane.PointBuffer[pointPos].NZ = srcPoint.nz / pointDivisor;
            dstPlane.PointBuffer[pointPos].U = srcPoint.u / textureDivisor;
            dstPlane.PointBuffer[pointPos].V = srcPoint.v / textureDivisor;
            dstPlane.PointCount++;

            return pointPos;
        }