eywallah japon w@rh@

Sen Şu Ödevlerini Bitir Önce! Sonra 3D'ye Geç.. http://www.wardom.org/visual-basice-giris-t78270.html http://www.wardom.org/visual-basic-temel-bilesenler-t66048.html

modul hangisi oluyor?

Bu Programimiz icin oncelikle yapmaniz gerekenler..: 1. Visual Basic Menusunden Project --> References Bolumunden VB OpenGL API 1.2 Secenegini Activ Kiliniz. 2. Bir Form ismi Form1 bir Modul ismi Module1 ve bir de Timer ismi Timer1 ihtiyacimiz var. 'Forma Yazilacak Kisim Burdan itibaren Baslamaktadir... Option Explicit Dim xAngle As GLfloat Dim yAngle As GLfloat Dim zAngle As GLfloat Dim YScale As Long Dim XScale As Long Private Sub Form_Load Dim hGLRC As Long Dim fAspect As GLfloat Call InitializeArrays Form1. ScaleMode = 3 xAngle = 0 yAngle = 0 zAngle = 0 SetupPixelFormat hDC hGLRC = wglCreateContext wglMakeCurrent hDC, hGLRC glEnable GL_DEPTH_TEST glEnable GL_DITHER glDepthFunc GL_LESS glClearDepth 1 glClearColor 0, 0, 0, 0 glMatrixMode GL_PROJECTION glLoadIdentity If Form1. ScaleHeight > 0 Then fAspect = Form1. ScaleWidth / Form1. ScaleHeight Else fAspect = 0 End If gluPerspective 60, fAspect, 1, 2000 glViewport 0, 0, Form1. ScaleWidth, Form1. ScaleHeight glMatrixMode GL_MODELVIEW glLoadIdentity glLightfv GL_LIGHT0, GL_POSITION, LightPos(0) glEnable GL_LIGHTING glEnable GL_LIGHT0 glShadeModel GL_SMOOTH glFrontFace GL_CCW glMaterialfv GL_FRONT, GL_SPECULAR, SpecRef(0) glMateriali GL_FRONT, GL_SHININESS, 50 BuildCube Form_Paint End Sub Private Sub Form_Paint Dim i As Integer Dim a As Integer Dim b As Integer Dim c As Integer glLoadIdentity gluLookAt m_Translate_X, m_Translate_Y, m_Translate_Z, m_Translate_X + (100# (Cos , m_Translate_Y + m_camera_direction_y, m_Translate_Z - (100# Sin , 0#, 1#, 0# glClear GL_COLOR_BUFFER_BIT Or GL_DEPTH_BUFFER_BIT glPushMatrix glTranslatef 0, 0, -3 glRotatef xAngle, 0.1, 0, 0 glRotatef yAngle, 0, 0.1, 0 glRotatef zAngle, 0, 0, 1 glCallList m_Cube glPopMatrix glPushMatrix glTranslatef 0, -2, 0 glPopMatrix SwapBuffers hDC End Sub Private Sub Form_Resize glViewport 0, 0, Form1. ScaleWidth, Form1. ScaleHeight Form_Paint End Sub Private Sub Form_Unload If hGLRC <> 0 Then wglMakeCurrent 0, 0 wglDeleteContext hGLRC End If If hPalette <> 0 Then DeleteObject hPalette End If End Sub Sub BuildCube Dim i As Integer Dim a As Integer Dim b As Integer Dim c As Integer

bakın demedi demeyin haftaya işletim sistemi kaynak kodu istemezse repsiz kalayım Bu hızla gidersen bişe örenemezsin yavaş yavaş sıfırdan alt yapı al önce...

Dim v1(3) As GLfloat Dim v2(3) As GLfloat Dim v3(3) As GLfloat Dim v(3) As GLfloat Dim w(3) As GLfloat Dim out(3) As GLfloat Dim r1 As GLfloat Dim g1 As GLfloat Dim b1 As GLfloat Dim r2 As GLfloat Dim g2 As GLfloat Dim b2 As GLfloat Dim r3 As GLfloat Dim g3 As GLfloat Dim b3 As GLfloat b1 = vcolor(a, 1) g1 = vcolor(a, 2) r2 = vcolor(b, 0) b2 = vcolor(b, 1) g2 = vcolor(b, 2) r3 = vcolor(c, 0) b3 = vcolor(c, 1) g3 = vcolor(c, 2) v1(0) = vdata(a, 0) v1(1) = vdata(a, 1) v1(2) = vdata(a, 2) x1 = vdata(a, 0) y1 = vdata(a, 1) z1 = vdata(a, 2) v2(0) = vdata(b, 0) v2(1) = vdata(b, 1) v2(2) = vdata(b, 2) x2 = vdata(b, 0) y2 = vdata(b, 1) z2 = vdata(b, 2) v3(0) = vdata(c, 0) v3(1) = vdata(c, 1) v3(2) = vdata(c, 2) x3 = vdata(c, 0) y3 = vdata(c, 1) z3 = vdata(c, 2) ' v(0) = x2 - x1 v(1) = y2 - y1 v(2) = z2 - z1 w(0) = x3 - x2 w(1) = y3 - y2 w(2) = z3 - z2 Call normcrossprod glBegin 'Flip the normal glNormal3f -1 out(0), -1 out(1), -1 out(2) Diffuse(0) = r1 Diffuse(1) = b1 Diffuse(2) = g1 Diffuse(3) = 1 glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0) glVertex3f v1(0), v1(1), v1(2) Diffuse(0) = r2 Diffuse(1) = b2 Diffuse(2) = g2 Diffuse(3) = 1 glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0) glVertex3f v2(0), v2(1), v2(2) Diffuse(0) = r3 Diffuse(1) = b3 Diffuse(2) = g3 Diffuse(3) = 1 glMaterialfv GL_FRONT, GL_AMBIENT_AND_DIFFUSE, Diffuse(0) glVertex3f v3(0), v3(1), v3(2) glEnd End Sub Public Sub normalize(out As GLfloat) Dim d As GLfloat d = Sqr(out(0) out(0) + out(1) out(1) + out(2) out(2)) If (d = 0) Then Exit Sub End If out(0) = out(0) / d out(1) = out(1) / d out(2) = out(2) / d End Sub Public Sub normcrossprod(v As GLfloat, w As GLfloat, out As GLfloat) ' X = out(0) = v(1) w(2) - w(1) v(2) out(1) = w(0) v(2) - v(0) w(2) out(2) = v(0) w(1) - w(0) v(1) Call normalize End Sub 'Module ve Programa yazilacaklar bu kadar umarim isinize yarar. w@rh@

m_Cube = glGenLists(1) glNewList m_Cube, GL_COMPILE_AND_EXECUTE For i = 0 To TRIANGLE_COUNT - 1 a = index(i, 0) b = index(i, 1) c = index(i, 2) Call RenderTriangle Next glEnd glEndList End Sub Private Sub Timer1_Timer YScale = YScale + 1 XScale = XScale + 1 yAngle = YScale xAngle = XScale If YScale = 359 Then YScale = 0 XScale = 0 End If Form_Paint End Sub 'Forma Yazilacak Kisim Burda Sona erdi 'Burasida Module Yazilacak Kisim Option Explicit Private Type PALETTEENTRY peRed As Byte peGreen As Byte peBlue As Byte peFlags As Byte End Type Private Type LOGPALETTE palVersion As Integer palNumEntries As Integer palPalEntry(0 To 255) As PALETTEENTRY End Type Private Type PIXELFORMATDESCRIPTOR nSize As Integer nVersion As Integer dwFlags As Long iPixelType As Byte cColorBits As Byte cRedBits As Byte cRedShift As Byte cGreenBits As Byte cGreenShift As Byte cBlueBits As Byte cBlueShift As Byte cAlphaBits As Byte cAlphaShift As Byte cAccumBits As Byte cAccumRedBits As Byte cAccumGreenBits As Byte cAccumBlueBits As Byte cAccumAlpgaBits As Byte cDepthBits As Byte cStencilBits As Byte cAuxBuffers As Byte iLayerType As Byte bReserved As Byte dwLayerMask As Long dwVisibleMask As Long dwDamageMask As Long End Type Const PFD_TYPE_RGBA = 0 Const PFD_TYPE_COLORINDEX = 1 Const PFD_MAIN_PLANE = 0 Const PFD_DOUBLEBUFFER = 1 Const PFD_DRAW_TO_WINDOW = &H4 Const PFD_SUPPORT_OPENGL = &H20 Const PFD_NEED_PALETTE = &H80 Private Declare Function ChoosePixelFormat Lib "gdi32" As Long Private Declare Function CreatePalette Lib "gdi32" As Long Private Declare Sub DeleteObject Lib "gdi32" Private Declare Sub DescribePixelFormat Lib "gdi32" Private Declare Function GetDC Lib "gdi32" As Long Private Declare Function GetPixelFormat Lib "gdi32" As Long Private Declare Sub GetSystemPaletteEntries Lib "gdi32" Private Declare Sub RealizePalette Lib "gdi32" Private Declare Sub SelectPalette Lib "gdi32" Private Declare Function SetPixelFormat Lib "gdi32" As Boolean Private Declare Sub SwapBuffers Lib "gdi32" Private Declare Function wglCreateContext Lib "OpenGL32" As Long Private Declare Sub wglDeleteContext Lib "OpenGL32" Private Declare Sub wglMakeCurrent Lib "OpenGL32" (ByVal l1 As Long, ByVal l2 As Long) Public hPalette As Long Public hGLRC As Long Public LightPos(3) As GLfloat Public SpecRef(3) As GLfloat Public Diffuse(3) As GLfloat Public Const TRIANGLE_COUNT = 12 Public vdata(23, 2) As GLfloat Public vcolor(23, 2) As GLfloat Public index(TRIANGLE_COUNT, 3) As GLfloat Public m_Grid As Integer Public m_Cube As Integer Public m_Translate_X As Integer Public m_Translate_Y As Integer Public m_Translate_Z As Integer Public m_camera_radsFromEast As GLfloat Public m_translationUnit As Double Public m_camera_direction_y As Integer Sub FatalError MsgBox "Fatal Error: " & strMessage, vbCritical + vbApplicationModal + vbOKOnly + vbDefaultButton1, "Fatal Error In " & App. Title Unload frmMain Set frmMain = Nothing End End Sub Sub SetupPixelFormat Dim pfd As PIXELFORMATDESCRIPTOR Dim PixelFormat As Integer pfd. nSize = Len pfd. nVersion = 1 pfd. dwFlags = PFD_SUPPORT_OPENGL Or PFD_DRAW_TO_WINDOW Or PFD_DOUBLEBUFFER Or PFD_TYPE_RGBA pfd. iPixelType = PFD_TYPE_RGBA pfd. cColorBits = 24 pfd. cDepthBits = 24 pfd. iLayerType = PFD_MAIN_PLANE PixelFormat = ChoosePixelFormat If PixelFormat = 0 Then FatalError "Could not retrieve pixel format!" SetPixelFormat hDC, PixelFormat, pfd End Sub Sub SetupPalette Dim PixelFormat As Long Dim pfd As PIXELFORMATDESCRIPTOR Dim pPal As LOGPALETTE Dim PaletteSize As Long PixelFormat = GetPixelFormat DescribePixelFormat lhDC, PixelFormat, Len , pfd If <> 0 Then PaletteSize = 2 ^ pfd. cColorBits Else Exit Sub End If pPal. palVersion = &H300 pPal. palNumEntries = PaletteSize Dim redMask As Long Dim GreenMask As Long Dim BlueMask As Long Dim i As Long redMask = 2 ^ pfd. cRedBits - 1 GreenMask = 2 ^ pfd. cGreenBits - 1 BlueMask = 2 ^ pfd. cBlueBits - 1 For i = 0 To PaletteSize - 1 With pPal. palPalEntry . peRed = i. peGreen = i. peBlue = i. peFlags = 0 End With Next GetSystemPaletteEntries frmMain. hDC, 0, 256, VarPtr(pPal. palPalEntry(0)) hPalette = CreatePalette If hPalette <> 0 Then SelectPalette lhDC, hPalette, False RealizePalette lhDC End If End Sub Public Sub InitializeArrays m_Translate_X = 0 m_Translate_Z = 5 m_translationUnit = 1 m_camera_direction_y = 0 m_camera_radsFromEast = 1.56 LightPos(0) = 0 LightPos(1) = 2 LightPos(2) = 2 LightPos(3) = 1 SpecRef(0) = 1# SpecRef(1) = 0# SpecRef(2) = 0# SpecRef(3) = 1# 'Front (0-3) vdata(0, 0) = 1 vdata(0, 1) = 1 vdata(0, 2) = 1 vdata(1, 0) = 1 vdata(1, 1) = -1 vdata(1, 2) = 1 vdata(2, 0) = -1 vdata(2, 1) = -1 vdata(2, 2) = 1 vdata(3, 0) = -1 vdata(3, 1) = 1 vdata(3, 2) = 1 'back (4-7) vdata(4, 0) = 1# vdata(4, 1) = 1# vdata(4, 2) = -1# vdata(5, 0) = 1# vdata(5, 1) = -1# vdata(5, 2) = -1# vdata(6, 0) = -1# vdata(6, 1) = -1# vdata(6, 2) = -1# vdata(7, 0) = -1# vdata(7, 1) = 1# vdata(7, 2) = -1# 'right (8-11) vdata(8, 0) = 1# vdata(8, 1) = 1# vdata(8, 2) = 1# vdata(9, 0) = 1# vdata(9, 1) = 1# vdata(9, 2) = -1# vdata(10, 0) = 1# vdata(10, 1) = -1# vdata(10, 2) = -1# vdata(11, 0) = 1# vdata(11, 1) = -1# vdata(11, 2) = 1# 'left (12-15) vdata(12, 0) = -1# vdata(12, 1) = 1# vdata(12, 2) = 1# vdata(13, 0) = -1# vdata(13, 1) = 1# vdata(13, 2) = -1# vdata(14, 0) = -1# vdata(14, 1) = -1# vdata(14, 2) = -1# vdata(15, 0) = -1# vdata(15, 1) = -1# vdata(15, 2) = 1# 'Top (16-20) vdata(16, 0) = 1# vdata(16, 1) = 1# vdata(16, 2) = 1# vdata(17, 0) = 1# vdata(17, 1) = 1# vdata(17, 2) = -1# vdata(18, 0) = -1# vdata(18, 1) = 1# vdata(18, 2) = -1# vdata(19, 0) = -1# vdata(19, 1) = 1# vdata(19, 2) = 1# 'Botton vdata(20, 0) = 1# vdata(20, 1) = -1# vdata(20, 2) = 1# vdata(21, 0) = 1# vdata(21, 1) = -1# vdata(21, 2) = -1# vdata(22, 0) = -1# vdata(22, 1) = -1# vdata(22, 2) = -1# vdata(23, 0) = -1# vdata(23, 1) = -1# vdata(23, 2) = 1# 'Index 'front index(0, 0) = 0 index(0, 1) = 1 index(0, 2) = 2 index(1, 0) = 0 index(1, 1) = 2 index(1, 2) = 3 'Back index(2, 0) = 4 index(2, 1) = 6 index(2, 2) = 5 index(3, 0) = 4 index(3, 1) = 7 index(3, 2) = 6 'Right index(4, 0) = 8 index(4, 1) = 9 index(4, 2) = 10 index(5, 0) = 8 index(5, 1) = 10 index(5, 2) = 11 'Left index(6, 0) = 12 index(6, 1) = 14 index(6, 2) = 13 index(7, 0) = 12 index(7, 1) = 15 index(7, 2) = 14 'Top index(8, 0) = 16 index(8, 1) = 18 index(8, 2) = 17 index(9, 0) = 16 index(9, 1) = 19 index(9, 2) = 18 'Bottom index(10, 0) = 20 index(10, 1) = 21 index(10, 2) = 22 index(11, 0) = 20 index(11, 1) = 22 index(11, 2) = 23 'Color 'front vcolor(0, 0) = 1 vcolor(0, 1) = 1 vcolor(0, 2) = 1 vcolor(1, 0) = 1 vcolor(1, 1) = 0 vcolor(1, 2) = 1 vcolor(2, 0) = 0 vcolor(2, 1) = 0 vcolor(2, 2) = 1 vcolor(3, 0) = 0 vcolor(3, 1) = 1 vcolor(3, 2) = 1 'back vcolor(4, 0) = 1# vcolor(4, 1) = 1# vcolor(4, 2) = 0# vcolor(5, 0) = 1# vcolor(5, 1) = 0# vcolor(5, 2) = 0# vcolor(6, 0) = 0# vcolor(6, 1) = 0# vcolor(6, 2) = 0# vcolor(7, 0) = 0# vcolor(7, 1) = 1# vcolor(7, 2) = 0# 'right vcolor(8, 0) = 1# vcolor(8, 1) = 1# vcolor(8, 2) = 1# vcolor(9, 0) = 1# vcolor(9, 1) = 1# vcolor(9, 2) = 0# vcolor(10, 0) = 1# vcolor(10, 1) = 0# vcolor(10, 2) = 0# vcolor(11, 0) = 1# vcolor(11, 1) = 0# vcolor(11, 2) = 1# 'left vcolor(12, 0) = 0# vcolor(12, 1) = 0.1 vcolor(12, 2) = 1# vcolor(13, 0) = 0# vcolor(13, 1) = 1# vcolor(13, 2) = 0# vcolor(14, 0) = 0# vcolor(14, 1) = 0# vcolor(14, 2) = 0# vcolor(15, 0) = 0# vcolor(15, 1) = 0# vcolor(15, 2) = 1# 'Top vcolor(16, 0) = 1# vcolor(16, 1) = 1# vcolor(16, 2) = 1# vcolor(17, 0) = 1# vcolor(17, 1) = 1# vcolor(17, 2) = 0# vcolor(18, 0) = 0# vcolor(18, 1) = 1# vcolor(18, 2) = 0# vcolor(19, 0) = 0# vcolor(19, 1) = 1# vcolor(19, 2) = 1# 'Bottom vcolor(20, 0) = 1# vcolor(20, 1) = 0# vcolor(20, 2) = 1# vcolor(21, 0) = 1# vcolor(21, 1) = 0# vcolor(21, 2) = 0# vcolor(22, 0) = 0# vcolor(22, 1) = 0# vcolor(22, 2) = 0# vcolor(23, 0) = 0# vcolor(23, 1) = 0# vcolor(23, 2) = 1# End Sub Public Sub RenderTriangle Dim x1 As GLfloat Dim y1 As GLfloat Dim z1 As GLfloat Dim lRC As Long Dim x2 As GLfloat Dim y2 As GLfloat Dim z2 As GLfloat Dim x3 As GLfloat Dim y3 As GLfloat Dim z3 As GLfloat

ya ben VB OpenGL API 1.2 bunu bulamadim

Sanırım Open GL pc ye kurulması gerekiyor?...