Changeset 211 for GraphicTest/UMainForm.pas
- Timestamp:
- Mar 20, 2011, 12:23:08 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
GraphicTest/UMainForm.pas
r206 r211 8 8 Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ComCtrls, 9 9 ExtCtrls, StdCtrls, DateUtils, UPlatform, LCLType, IntfGraphics, fpImage, 10 Math, GraphType, Contnrs, LclIntf, UFastBitmap, UDrawMethod ;10 Math, GraphType, Contnrs, LclIntf, UFastBitmap, UDrawMethod, GL, OpenGLContext; 11 11 12 12 const … … 34 34 TabSheet1: TTabSheet; 35 35 TabSheet2: TTabSheet; 36 TabSheet3: TTabSheet; 36 37 Timer1: TTimer; 37 38 procedure ButtonBenchmarkClick(Sender: TObject); … … 43 44 procedure Timer1Timer(Sender: TObject); 44 45 private 46 OpenGLControl1: TOpenGLControl; 47 TextureId: GLuint; 48 TextureData: Pointer; 49 procedure OpenGLControl1Resize(Sender: TObject); 50 procedure InitGL; 45 51 public 46 52 DrawMethods: TObjectList; // TObjectList<TDrawMethod> … … 79 85 Bitmap.SetSize(TFastBitmap(Scenes[0]).Size.X, TFastBitmap(Scenes[0]).Size.Y); 80 86 87 OpenGLControl1 := TOpenGLControl.Create(Self); 88 with OpenGLControl1 do begin 89 Name := 'OpenGLControl1'; 90 Parent := TabSheet3; 91 SetBounds(0, 0, 320, 240); 92 InitGL; 93 //OnPaint := OpenGLControl1Paint; 94 OnResize := OpenGLControl1Resize; 95 end; 96 GetMem(TextureData, OpenGLControl1.Width * OpenGLControl1.Height * SizeOf(Integer)); 97 81 98 DrawMethods := TObjectList.Create; 82 99 ComboBox1.Clear; … … 85 102 NewDrawMethod.Bitmap := Image1.Picture.Bitmap; 86 103 NewDrawMethod.PaintBox := PaintBox1; 104 NewDrawMethod.OpenGLBitmap := TextureData; 105 NewDrawMethod.OpenGLControl := OpenGLControl1; 87 106 DrawMethods.Add(NewDrawMethod); 88 107 ComboBox1.Items.Add(NewDrawMethod.Caption); 89 108 end; 90 ComboBox1.ItemIndex := 0;109 ComboBox1.ItemIndex := DrawMethods.Count - 1; 91 110 end; 92 111 … … 148 167 procedure TMainForm.FormDestroy(Sender: TObject); 149 168 begin 169 FreeMem(TextureData, OpenGLControl1.Width * OpenGLControl1.Height); 150 170 DrawMethods.Free; 151 171 Scenes.Free; … … 164 184 end; 165 185 186 procedure TMainForm.OpenGLControl1Resize(Sender: TObject); 187 begin 188 glViewport(0, 0, OpenGLControl1.Width, OpenGLControl1.Height); 189 end; 190 191 procedure TMainForm.InitGL; 192 begin 193 glMatrixMode(GL_PROJECTION); 194 glLoadIdentity; 195 glOrtho(0, OpenGLControl1.Width, OpenGLControl1.Height, 0, 0, 1); 196 glMatrixMode(GL_MODELVIEW); 197 glLoadIdentity(); 198 glDisable(GL_DEPTH_TEST); 199 glViewport(0, 0, OpenGLControl1.Width, OpenGLControl1.Height); 200 //gluPerspective( 45.0, (GLfloat)(OpenGLControl1.Width)/(GLfloat)(OpenGLControl1.Height), 0.1f, 500.0 ); 201 202 //glFrustum (-1.0, 1.0, -1.0, 1.0, 1.5, 20.0); 203 //glTranslatef (0.0, 0.0,-3.0); 204 // glClearColor(0.0, 0.0, 0.0, 1.0); 205 206 glGenTextures(1, @TextureId); 207 glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 208 end; 209 166 210 end. 167 211
Note:
See TracChangeset
for help on using the changeset viewer.