//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); } }
//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++; } }