Exemplo n.º 1
0
        /// <summary>
        /// Main render method for the wire object.
        /// </summary>
        /// <param name="renderState">Current render state.</param>
        private void RenderLines(RenderState renderState)
        {
            LocalResourceData resourceData = m_localResources[renderState.DeviceIndex];

            // Load line data to memory if needed
            if (!resourceData.LineDataLoaded)
            {
                if ((m_lineData == null) ||
                    (m_lineData.Length == 0))
                {
                    return;
                }

                // Loading of line data
                GraphicsHelper.SafeDispose(ref resourceData.LineVertexBuffer);
                resourceData.LineVertexBuffer = GraphicsHelper.CreateImmutableVertexBuffer(renderState.Device, m_lineData);
                resourceData.LineDataLoaded   = true;
            }

            // Calculate transform matrix
            Matrix4x4 viewProj = Matrix4x4.Transpose(renderState.ViewProj);

            // Render all lines finally
            resourceData.LineRenderResources.RenderLines(
                renderState, viewProj, m_lineColor,
                resourceData.LineVertexBuffer, m_lineData.Length * 2);
        }
Exemplo n.º 2
0
        public static LocalResourceData Create(uint resId)
        {
            LocalResourceData resData = new LocalResourceData(resId);

            return(resData);
        }