BugInTheSYS

CompGX-Rendering

Dec 9th, 2011
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.20 KB | None | 0 0
  1.   private void Render() {
  2.       int i;
  3.  
  4.       // Bitmap vorbereiten
  5.       System.Drawing.Bitmap RenderTarget = new Bitmap( 480, 360 );
  6.       System.Drawing.Imaging.BitmapData Data;
  7.       // Bitmap-Bits verschließen
  8.       Data = RenderTarget.LockBits( new Rectangle( 0, 0, RenderTarget.Width, RenderTarget.Height ), System.Drawing.Imaging.ImageLockMode.ReadWrite, System.Drawing.Imaging.PixelFormat.Format32bppPArgb );
  9.  
  10.       // mit compgx kommunizieren
  11.       // Renderstack leeren
  12.       compgx.gxClear();
  13.  
  14.       // Alle Ebenen durchgehen und einzeln mit Versatz einfügen
  15.       for( i = 0; i < 5; i++ ) {
  16.         // Ebene auf Renderstack legen
  17.         compgx.gxAdd( i );
  18.         // Ebene zur Bearbeitung auswählen
  19.         compgx.gxStack( i );
  20.         // Versatz einstellen
  21.         compgx.gxOffset( ( int )Offset[i], 0 );
  22.       }
  23.  
  24.       // In Bitmap rendern      
  25.       compgx.gxRender( Data.Scan0, Data.Stride, Data.Width, Data.Height );
  26.  
  27.       // Bitmap wieder aufschließen, damit man an die daten darin nicht mehr rankommen kann, GDI+ es aber wieder selbst benutzen kann
  28.       RenderTarget.UnlockBits( Data );
  29.       // Bild anzeigen
  30.       doubleBufferedPictureBox1.Image = RenderTarget;
  31.     }
  32.  
Advertisement
Add Comment
Please, Sign In to add comment