OpenGLGadget

3D (OpenGl) ››
Parent Previous Next

OpenGLGadget

Синтаксис

function OpenGLGadget(ByVal gadget As Long, ByVal x As Long, ByVal y As Long, ByVal w As Long, ByVal h As Long, ByVal cBits As Long = 32, byval dBits as Long = 24, byval sBits as Long = 0, byval aBits as Long = 0) As HWND

Описание

Создает гаджет для рисования средствами OpenGl .

Параметры

gadget - идентификатор\номер (любое натуральное число больше нуля, может быть 1,2,3,4 и др.)

x,y,w,h - расположение и размеры гаджета

cBits - определяет число битовых плоскостей в каждом буфере цвета

dBits - определяет размер глубины буфера

sBits - определяет размер буфера трафарета

aBits - определяет общее число битовых плоскостей в буфере аккумулятора

Платформы

Windows , Linux

Пример1

#Include "window9.bi"
Sub SceneDraw()
 
  glClearColor(0.7,0.7,0.6,1)
  glClear(GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT)
  glTranslatef 50,50,0
  glBegin GL_TRIANGLES
  glColor3ub 255,0,0
  glVertex2i   0, 50
  glColor3ub 0,255,0
  glVertex2i 100, 50
  glColor3ub 0,0,255
  glVertex2i  50,  0
  glEnd
  glLoadIdentity
  OpenGLGadgetSwapBuffers(1)
End Sub
var win = OpenWindow("OpenGL Gadget",100,100,230,250)
OpenGLGadget(1,5,5,200,200,,0)
Do
  var event = WindowEvent()
  If event = eventclose Then Exit Do
  SceneDraw()
  sleep(1)
Loop

Результат

Пример2

#Include "window9.bi"
function SceneDraw() As Integer
  Static rtri as single, rquad as Single
  glClear GL_COLOR_BUFFER_BIT or GL_DEPTH_BUFFER_BIT
  glLoadIdentity
  glTranslatef -1.5, 0.0, -6.0
  glRotatef rtri, 0, 1, 0
  glBegin GL_TRIANGLES
  glColor3f 1.0, 0.0, 0.0
  glVertex3f 0.0, 1.0, 0.0
  glColor3f 0.0, 1.0, 0.0
  glVertex3f -1.0, -1.0, 0.0
  glColor3f 0.0, 0.0, 1.0
  glVertex3f 1.0, -1.0, 0.0
  glEnd
  glLoadIdentity
  glTranslatef 1.5, 0.0, -6.0
  glColor3f 0.5, 0.5, 1.0
  glRotatef rquad, 1, 0, 0
  glBegin GL_QUADS
  glVertex3f -1.0, 1.0, 0.0
  glVertex3f 1.0, 1.0, 0.0
  glVertex3f 1.0, -1.0, 0.0
  glVertex3f -1.0, -1.0, 0.0
  glEnd
  glFlush
  rtri += 1
  rquad += 1
  OpenGLGadgetSwapBuffers(1)
  Return TRUE
End Function
var win = OpenWindow("OpenGL Gadget",100,100,230,250)
OpenGLGadget(1,5,5,200,200,,32)
SetTimer(win , 1, 20, Cast(Any Ptr,@SceneDraw()))
Do
  var event = WaitEvent()
  If event = eventclose Then Exit Do
Loop

Результат

Created with the Personal Edition of HelpNDoc: Single source CHM, PDF, DOC and HTML Help creation