//render into the vvvv renderer
        protected override void Render(Device device, CustomDeviceData deviceData)
        {
            //enable simple sprite rendering
            device.SetRenderState(RenderState.PointSpriteEnable, true);
            device.SetRenderState(RenderState.PointScaleEnable, true);
            device.SetRenderState(RenderState.PointSize, 0.05f);

            //set vertex buffer
            device.SetStreamSource(0, deviceData.VB, 0, Marshal.SizeOf(typeof(VertexType)));

            //set vertex format
            device.VertexFormat = VertexType.Format;

            //set texture
            device.SetTexture(0, deviceData.Tex);

            for (int i = 0; i < FSpreadCount; i++)
            {
                //set render state from pin
                FRenderStatePin.SetSliceStates(i);

                //set transform
                device.SetTransform(TransformState.World, FTransformIn[i]);

                //draw the geometry
                device.DrawPrimitives(PrimitiveType.PointList, 0, FSpreadCount);
            }
        }
Exemple #2
0
        //render into the vvvv renderer
        protected override void Render(Device device, PreviewDeviceData deviceData)
        {
            //enable simple sprite rendering
            device.SetRenderState(RenderState.PointSpriteEnable, true);
            device.SetRenderState(RenderState.PointScaleEnable, true);
            device.SetRenderState(RenderState.PointSize, 0.05f);

            //set vertex format
            device.VertexFormat = VertexType.Format;

            int slice = 0;

            foreach (var projector in deviceData.VertexBufferPerProjectorPerLine)
            {
                //set transform
                device.SetTransform(TransformState.World, FInTransform[slice]);

                //set render state from pin
                FRenderStatePin.SetSliceStates(slice);

                foreach (var board in projector)
                {
                    //set vertex buffer
                    device.SetStreamSource(0, board.VertexBuffer, 0, Marshal.SizeOf(typeof(VertexType)));

                    //draw the geometry
                    device.DrawPrimitives(PrimitiveType.LineStrip, 0, board.Count - 1);
                }

                slice++;
            }
        }