|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
04.12.2008, 09:28 | #1 |
Регистрация: 04.12.2008
Сообщений: 5
|
OpenGL, освещение
Ребят есть у кого нить проста прога осевщения обекта с использование OpenGL??????скиньте ПЖЛСТ!
|
05.12.2008, 17:43 | #2 |
Заблокирован
Регистрация: 28.11.2008
Сообщений: 6
|
в прошлом году в иституте такие проги писали , не могу найти =(
|
07.12.2008, 15:30 | #3 |
Регистрация: 04.12.2008
Сообщений: 5
|
плохо...очень надо(((
|
17.12.2008, 19:09 | #4 |
Регистрация: 04.12.2008
Сообщений: 5
|
Подскажите как сделать чтоб освещение было не только по вертикали но и по горизотале!!!!
var
p: TGLArrayf4; d: TGLArrayf3; www,www1,ppp:real; xx,yy,zz:real; Form1: TForm1; ghRC:HGLRC; ghDC:HDC; key:array [1..256] of word; dx,dy,x,y,vx,vy,vzouble; texture:tbitmap; implementation function bSetupPixelFormat(DC:HDC):boolean; var pfd:PIXELFORMATDESCRIPTOR; ppfd:PPIXELFORMATDESCRIPTOR; pixelformat:integer; begin ppfd := @pfd; ppfd.nSize := sizeof(PIXELFORMATDESCRIPTOR); ppfd.nVersion := 1; ppfd.dwFlags := PFD_DRAW_TO_WINDOW xor PFD_SUPPORT_OPENGL xor PFD_DOUBLEBUFFER; ppfd.dwLayerMask := PFD_MAIN_PLANE; ppfd.iPixelType := PFD_TYPE_RGBA; ppfd.cColorBits := 16; ppfd.cDepthBits := 16; ppfd.cAccumBits := 0; ppfd.cStencilBits := 0; pixelformat := ChoosePixelFormat(dc, ppfd); if pixelformat=0 then begin MessageBox(0, 'ChoosePixelFormat failed', 'Error', MB_OK); bSetupPixelFormat:=FALSE; exit; end; if SetPixelFormat(dc, pixelformat, ppfd)=false then begin MessageBox(0, 'SetPixelFormat failed', 'Error', MB_OK); bSetupPixelFormat:=FALSE; exit; end; bSetupPixelFormat:=TRUE; end; {$R *.dfm} procedure Draw; var quadObj:GLUquadricObj; i:integer; begin x:=x+dx; glClear(GL_DEPTH_BUFFER_BIT xor GL_COLOR_BUFFER_BIT);//очистка области рисования quadObj:=gluNewQuadric; //создание стандартного объекта glColor3f(0,0,2);//установка цвета RGB gluQuadricDrawStyle(quadObj, GLU_line);//стиль рисования gluSphere(quadObj, 7,10,10);//параметры КРУГА gluDeleteQuadric(quadObj); SwapBuffers(ghDC); end; procedure TForm1.FormCreate(Sender: TObject); type PPixelArray = ^TPixelArray; TPixelArray = array [0..0] of Byte; var Bitmap : TBitmap; Data : PPixelArray; BMInfo : TBitmapInfo; I, ImageSize : Integer; Temp : Byte; MemDC : HDC; begin dx:=0.01; dy:=0.01; x:=0; y:=0; // начальные координаты лампочки xx:=-10; yy:=-1; zz:=-1; ghDC := GetDC(Handle); if bSetupPixelFormat(ghDC)=false then Close(); ghRC := wglCreateContext(ghDC); wglMakeCurrent(ghDC, ghRC); glClearColor(0.0, 0.0, 0.0, 0.0); glViewport( 0, 0, Width, Height ); glMatrixMode( GL_PROJECTION ); glLoadIdentity(); glOrtho(-10,10, -10,10, -10,10);//пространство для рисования gluLookAt(0,6,2, 0,1,0, 0,1,0); glMatrixMode( GL_MODELVIEW ); glShadeModel(GL_SMOOTH); glEnable(GL_COLOR_MATERIAL); glEnable(GL_DEPTH_TEST); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0);//создать лампочку p[0]:=-xx; p[1]:=-yy; p[2]:=-zz; p[3]:=1; d[0]:=-100; d[1]:=-10; d[2]:=-10; www:=0; www1:=0; glLightfv(GL_LIGHT0,GL_POSITION,@p) ; glLightfv(GL_LIGHT0,GL_SPOT_DIRECTI ON,@d); glrotatef(10,10,10,1); //модель изображения end; procedure TForm1.Formclose(Sender: TObject; var Action: TCloseAction); begin //освобождения блятской памяти if ghRC<>0 then begin wglMakeCurrent(ghDC,0); wglDeleteContext(ghRC); end; if ghDC<>0 then ReleaseDC(Handle, ghDC); end; procedure TForm1.Timer1Timer(Sender: TObject); begin www:=www+0.5; //скорость ист.света if www>360 then begin www:=0; end; p[0]:=sin(www/(2*pi))*15; p[1]:=cos(www/(2*pi))*15; glLightfv(GL_LIGHT0,GL_POSITION,@p) ; draw; end; end. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
3D и OpenGl | Dj_smart | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 12 | 29.10.2017 11:31 |
OpenGL | yanl | Компьютерное железо | 0 | 16.11.2008 00:52 |
OpenGL | Witaliy | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 1 | 01.05.2008 21:05 |
OpenGL | prizrak1390 | Свободное общение | 2 | 07.04.2008 13:43 |
OpenGL | Nbveh | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 3 | 25.10.2007 18:56 |