Beispiel #1
0
 /// <summary>
 /// Reads pixels from the render target buffer.
 /// </summary>
 /// <param name="targetBuffer">The render target buffer.</param>
 /// <returns>The read pixels as a bitmap.</returns>
 public static Bitmap Read(TargetBuffer targetBuffer = TargetBuffer.Color0)
 {
     gl.ReadBuffer(targetBuffer.ToBuffer());
     var bitmap = new Bitmap(Width, Height, PixelFormat.Format32bppRgb);
     bitmap.PinAsWriteOnly(PixelFormat.Format32bppRgb, data => gl.ReadPixels(0, 0, Width, Height, GL.BGRA, GL.UNSIGNED_BYTE, data));
     bitmap.RotateFlip(RotateFlipType.RotateNoneFlipY);
     return bitmap;
 }
Beispiel #2
0
 /// <summary>
 /// Configures the drawn render target buffers.
 /// </summary>
 /// <param name="targetBuffer0">The render target buffer 0.</param>
 /// <param name="targetBuffer1">The render target buffer 1.</param>
 /// <param name="targetBuffer2">The render target buffer 2.</param>
 /// <param name="targetBuffer3">The render target buffer 3.</param>
 public static void Draw(TargetBuffer targetBuffer0, TargetBuffer targetBuffer1 = TargetBuffer.None, TargetBuffer targetBuffer2 = TargetBuffer.None, TargetBuffer targetBuffer3 = TargetBuffer.None)
 {
     gl.DrawBuffers(targetBuffer0.ToBuffer(), targetBuffer1.ToBuffer(), targetBuffer2.ToBuffer(), targetBuffer3.ToBuffer());
 }