VERSION 5.00 Begin VB.Form Form1 Caption = "Form1" ClientHeight = 5250 ClientLeft = 60 ClientTop = 345 ClientWidth = 6300 LinkTopic = "Form1" ScaleHeight = 5250 ScaleWidth = 6300 StartUpPosition = 3 'Windows Default Begin VB.Timer Timer1 Interval = 40 Left = 3000 Top = 1320 End End Attribute VB_Name = "Form1" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = True Attribute VB_Exposed = False Dim bRunning As Boolean ' Variabile per definire l'usica dal ciclo di rendering Dim Rot, RotZ As Single Dim Light(2) As D3DLIGHT8 Dim Material As D3DMATERIAL8 ' Variabili per le luci ed il materiale Dim OnOff(2) As Boolean ' Tipo di vertici utilizzati Private Type CUSTOMVERTEX X As Single 'x Y As Single 'y Z As Single 'z. nX As Single ' coordinate delle normali nY As Single nZ As Single End Type Public Sub setAmbient(I As Integer, R As Single, G As Single, B As Single) If I < 3 Then Light(I).Ambient.R = R Light(I).Ambient.G = G Light(I).Ambient.B = B Else Material.Ambient.R = R Material.Ambient.G = G Material.Ambient.B = B End If End Sub Public Sub setDiffuse(I As Integer, R As Single, G As Single, B As Single) If I < 3 Then Light(I).diffuse.R = R Light(I).diffuse.G = G Light(I).diffuse.B = B Else Material.diffuse.R = R Material.diffuse.G = G Material.diffuse.B = B End If End Sub Public Sub setSpecular(I As Integer, R As Single, G As Single, B As Single) If I < 3 Then Light(I).specular.R = R Light(I).specular.G = G Light(I).specular.B = B Else Material.specular.R = R Material.specular.G = G Material.specular.B = B End If End Sub Public Function getAmbient(ByVal I As Integer) As D3DCOLORVALUE If I < 3 Then getAmbient = Light(I).Ambient Else getAmbient = Material.Ambient End If End Function Public Function getDiffuse(ByVal I As Integer) As D3DCOLORVALUE If I < 3 Then getDiffuse = Light(I).diffuse Else getDiffuse = Material.diffuse End If End Function Public Function getSpecular(ByVal I As Integer) As D3DCOLORVALUE If I < 3 Then getSpecular = Light(I).specular Else getSpecular = Material.specular End If End Function Public Sub setOnOff(I As Integer, S As Boolean) OnOff(I) = S End Sub Public Function getOnOff(I As Integer) As Integer If OnOff(I) Then getOnOff = 1 Else getOnOff = 0 End If End Function Public Sub setShiness(S As Single) Material.power = S End Sub Public Function getShiness() getShiness = Material.power End Function Public Sub setEmissive(R As Single, G As Single, B As Single) Material.emissive.R = R Material.emissive.G = G Material.emissive.B = B End Sub Public Function getEmissive() As D3DCOLORVALUE getEmissive = Material.emissive End Function Public Sub setTransp(S As Single) Material.diffuse.a = S Material.specular.a = S Material.emissive.a = S Material.Ambient.a = S End Sub Public Function getTransp() getTransp = Material.diffuse.a End Function ' Crea un vettore Private Function MakeVector(ByVal X As Single, ByVal Y As Single, ByVal Z As Single) As D3DVECTOR MakeVector.X = X MakeVector.Y = Y MakeVector.Z = Z End Function ' Crea un vertice Private Function MakeVertex(X As Single, Y As Single, Z As Single, _ nX As Single, nY As Single, nZ As Single) As CUSTOMVERTEX MakeVertex.X = X MakeVertex.Y = Y MakeVertex.Z = Z MakeVertex.nX = nX MakeVertex.nY = nY MakeVertex.nZ = nZ End Function ' Attivata quando l'utente clicca sulla finestra, per chiudere l'applicazione Private Sub Form_Click() bRunning = False End Sub ' Programma vero e prorpio! Private Sub Form_Load() ' Inizializzazione della libreria ''''''''''''''''''''''''''''''''' ' Dichiarazioni variabili per le DirectX Dim Dx As DirectX8 Dim D3D As Direct3D8 Dim D3DDevice As Direct3DDevice8 Dim DispMode As D3DDISPLAYMODE Dim D3DWindow As D3DPRESENT_PARAMETERS ' Dichiarazioni variabili per l'applicazione Dim V(216) As CUSTOMVERTEX Dim I(900) As Integer ' Dichiarazioni variabili per il ciclo di rendering Dim matView As D3DMATRIX Dim matProj As D3DMATRIX Dim matWorld As D3DMATRIX Dim matTemp As D3DMATRIX ' Si collega con le DirectX Set Dx = New DirectX8 Set D3D = Dx.Direct3DCreate() ' Imposta la modalita' video in finsetra D3D.GetAdapterDisplayMode D3DADAPTER_DEFAULT, DispMode D3DWindow.Windowed = 1 D3DWindow.SwapEffect = D3DSWAPEFFECT_COPY_VSYNC D3DWindow.BackBufferFormat = DispMode.Format ' Imposta lo Z-Buffere D3DWindow.AutoDepthStencilFormat = D3DFMT_D16 D3DWindow.EnableAutoDepthStencil = 1 ' Crea l'applicazione Set D3DDevice = D3D.CreateDevice(D3DADAPTER_DEFAULT, _ D3DDEVTYPE_HAL, hWnd, _ D3DCREATE_SOFTWARE_VERTEXPROCESSING, _ D3DWindow) ' Definisce il tipo di vertici utilizzati D3DDevice.SetVertexShader D3DFVF_XYZ Or D3DFVF_NORMAL ' Abilita l'illuminazione D3DDevice.SetRenderState D3DRS_LIGHTING, True ' Abilita la luce speculare D3DDevice.SetRenderState D3DRS_SPECULARENABLE, True ' Abilita la trasparenza D3DDevice.SetRenderState D3DRS_ALPHABLENDENABLE, True D3DDevice.SetRenderState D3DRS_SRCBLEND, D3DBLEND_SRCALPHA D3DDevice.SetRenderState D3DRS_DESTBLEND, D3DBLEND_INVSRCALPHA ' Abilita lo Z-Buffer D3DDevice.SetRenderState D3DRS_ZENABLE, True ' Inizializzazione dell'applicazione '''''''''''''''''''''''''''''''''''' ' Mostra la finestra Me.Show ' Imposta la cinepresa D3DXMatrixLookAtLH matView, MakeVector(0.5, 1.8, 2.5), _ MakeVector(0, 0, 0), MakeVector(0, 1, 0) D3DDevice.SetTransform D3DTS_VIEW, matView D3DXMatrixPerspectiveFovLH matProj, 3.1416 / 4, 1, 0.1, 500 D3DDevice.SetTransform D3DTS_PROJECTION, matProj ' Crea la geometria V(0) = MakeVertex(-0.5, -0.5, 0.5, 0, 0, 1) V(1) = MakeVertex(-0.5, -0.5, 0.5, 0, -1, 0) V(2) = MakeVertex(-0.5, -0.5, 0.5, -1, 0, 0) V(3) = MakeVertex(-0.3000000119, -0.5, 0.5, 0, 0, 1) V(4) = MakeVertex(-0.3000000119, -0.5, 0.5, 0, -1, 0) V(5) = MakeVertex(-0.1000000089, -0.5, 0.5, 0, 0, 1) V(6) = MakeVertex(-0.1000000089, -0.5, 0.5, 0, -1, 0) V(7) = MakeVertex(0.09999999404, -0.5, 0.5, 0, 0, 1) V(8) = MakeVertex(0.09999999404, -0.5, 0.5, 0, -1, 0) V(9) = MakeVertex(0.3000000119, -0.5, 0.5, 0, 0, 1) V(10) = MakeVertex(0.3000000119, -0.5, 0.5, 0, -1, 0) V(11) = MakeVertex(0.5, -0.5, 0.5, 0, 0, 1) V(12) = MakeVertex(0.5, -0.5, 0.5, 0, -1, 0) V(13) = MakeVertex(0.5, -0.5, 0.5, 1, 0, 0) V(14) = MakeVertex(-0.5, -0.3000000119, 0.5, 0, 0, 1) V(15) = MakeVertex(-0.5, -0.3000000119, 0.5, -1, 0, 0) V(16) = MakeVertex(-0.3000000119, -0.3000000119, 0.5, 0, 0, 1) V(17) = MakeVertex(-0.1000000089, -0.3000000119, 0.5, 0, 0, 1) V(18) = MakeVertex(0.09999999404, -0.3000000119, 0.5, 0, 0, 1) V(19) = MakeVertex(0.3000000119, -0.3000000119, 0.5, 0, 0, 1) V(20) = MakeVertex(0.5, -0.3000000119, 0.5, 0, 0, 1) V(21) = MakeVertex(0.5, -0.3000000119, 0.5, 1, 0, 0) V(22) = MakeVertex(-0.5, -0.1000000089, 0.5, 0, 0, 1) V(23) = MakeVertex(-0.5, -0.1000000089, 0.5, -1, 0, 0) V(24) = MakeVertex(-0.3000000119, -0.1000000089, 0.5, 0, 0, 1) V(25) = MakeVertex(-0.1000000089, -0.1000000089, 0.5, 0, 0, 1) V(26) = MakeVertex(0.09999999404, -0.1000000089, 0.5, 0, 0, 1) V(27) = MakeVertex(0.3000000119, -0.1000000089, 0.5, 0, 0, 1) V(28) = MakeVertex(0.5, -0.1000000089, 0.5, 0, 0, 1) V(29) = MakeVertex(0.5, -0.1000000089, 0.5, 1, 0, 0) V(30) = MakeVertex(-0.5, 0.09999999404, 0.5, 0, 0, 1) V(31) = MakeVertex(-0.5, 0.09999999404, 0.5, -1, 0, 0) V(32) = MakeVertex(-0.3000000119, 0.09999999404, 0.5, 0, 0, 1) V(33) = MakeVertex(-0.1000000089, 0.09999999404, 0.5, 0, 0, 1) V(34) = MakeVertex(0.09999999404, 0.09999999404, 0.5, 0, 0, 1) V(35) = MakeVertex(0.3000000119, 0.09999999404, 0.5, 0, 0, 1) V(36) = MakeVertex(0.5, 0.09999999404, 0.5, 0, 0, 1) V(37) = MakeVertex(0.5, 0.09999999404, 0.5, 1, 0, 0) V(38) = MakeVertex(-0.5, 0.3000000119, 0.5, 0, 0, 1) V(39) = MakeVertex(-0.5, 0.3000000119, 0.5, -1, 0, 0) V(40) = MakeVertex(-0.3000000119, 0.3000000119, 0.5, 0, 0, 1) V(41) = MakeVertex(-0.1000000089, 0.3000000119, 0.5, 0, 0, 1) V(42) = MakeVertex(0.09999999404, 0.3000000119, 0.5, 0, 0, 1) V(43) = MakeVertex(0.3000000119, 0.3000000119, 0.5, 0, 0, 1) V(44) = MakeVertex(0.5, 0.3000000119, 0.5, 0, 0, 1) V(45) = MakeVertex(0.5, 0.3000000119, 0.5, 1, 0, 0) V(46) = MakeVertex(-0.5, 0.5, 0.5, 0, 0, 1) V(47) = MakeVertex(-0.5, 0.5, 0.5, 0, 1, 0) V(48) = MakeVertex(-0.5, 0.5, 0.5, -1, 0, 0) V(49) = MakeVertex(-0.3000000119, 0.5, 0.5, 0, 0, 1) V(50) = MakeVertex(-0.3000000119, 0.5, 0.5, 0, 1, 0) V(51) = MakeVertex(-0.1000000089, 0.5, 0.5, 0, 0, 1) V(52) = MakeVertex(-0.1000000089, 0.5, 0.5, 0, 1, 0) V(53) = MakeVertex(0.09999999404, 0.5, 0.5, 0, 0, 1) V(54) = MakeVertex(0.09999999404, 0.5, 0.5, 0, 1, 0) V(55) = MakeVertex(0.3000000119, 0.5, 0.5, 0, 0, 1) V(56) = MakeVertex(0.3000000119, 0.5, 0.5, 0, 1, 0) V(57) = MakeVertex(0.5, 0.5, 0.5, 0, 0, 1) V(58) = MakeVertex(0.5, 0.5, 0.5, 0, 1, 0) V(59) = MakeVertex(0.5, 0.5, 0.5, 1, 0, 0) V(60) = MakeVertex(-0.5, 0.5, 0.3000000119, 0, 1, 0) V(61) = MakeVertex(-0.5, 0.5, 0.3000000119, -1, 0, 0) V(62) = MakeVertex(-0.3000000119, 0.5, 0.3000000119, 0, 1, 0) V(63) = MakeVertex(-0.1000000089, 0.5, 0.3000000119, 0, 1, 0) V(64) = MakeVertex(0.09999999404, 0.5, 0.3000000119, 0, 1, 0) V(65) = MakeVertex(0.3000000119, 0.5, 0.3000000119, 0, 1, 0) V(66) = MakeVertex(0.5, 0.5, 0.3000000119, 0, 1, 0) V(67) = MakeVertex(0.5, 0.5, 0.3000000119, 1, 0, 0) V(68) = MakeVertex(-0.5, 0.5, 0.1000000089, 0, 1, 0) V(69) = MakeVertex(-0.5, 0.5, 0.1000000089, -1, 0, 0) V(70) = MakeVertex(-0.3000000119, 0.5, 0.1000000089, 0, 1, 0) V(71) = MakeVertex(-0.1000000089, 0.5, 0.1000000089, 0, 1, 0) V(72) = MakeVertex(0.09999999404, 0.5, 0.1000000089, 0, 1, 0) V(73) = MakeVertex(0.3000000119, 0.5, 0.1000000089, 0, 1, 0) V(74) = MakeVertex(0.5, 0.5, 0.1000000089, 0, 1, 0) V(75) = MakeVertex(0.5, 0.5, 0.1000000089, 1, 0, 0) V(76) = MakeVertex(-0.5, 0.5, -0.09999999404, 0, 1, 0) V(77) = MakeVertex(-0.5, 0.5, -0.09999999404, -1, 0, 0) V(78) = MakeVertex(-0.3000000119, 0.5, -0.09999999404, 0, 1, 0) V(79) = MakeVertex(-0.1000000089, 0.5, -0.09999999404, 0, 1, 0) V(80) = MakeVertex(0.09999999404, 0.5, -0.09999999404, 0, 1, 0) V(81) = MakeVertex(0.3000000119, 0.5, -0.09999999404, 0, 1, 0) V(82) = MakeVertex(0.5, 0.5, -0.09999999404, 0, 1, 0) V(83) = MakeVertex(0.5, 0.5, -0.09999999404, 1, 0, 0) V(84) = MakeVertex(-0.5, 0.5, -0.3000000119, 0, 1, 0) V(85) = MakeVertex(-0.5, 0.5, -0.3000000119, -1, 0, 0) V(86) = MakeVertex(-0.3000000119, 0.5, -0.3000000119, 0, 1, 0) V(87) = MakeVertex(-0.1000000089, 0.5, -0.3000000119, 0, 1, 0) V(88) = MakeVertex(0.09999999404, 0.5, -0.3000000119, 0, 1, 0) V(89) = MakeVertex(0.3000000119, 0.5, -0.3000000119, 0, 1, 0) V(90) = MakeVertex(0.5, 0.5, -0.3000000119, 0, 1, 0) V(91) = MakeVertex(0.5, 0.5, -0.3000000119, 1, 0, 0) V(92) = MakeVertex(-0.5, 0.5, -0.5, 0, 1, 0) V(93) = MakeVertex(-0.5, 0.5, -0.5, 0, 0, -1) V(94) = MakeVertex(-0.5, 0.5, -0.5, -1, 0, 0) V(95) = MakeVertex(-0.3000000119, 0.5, -0.5, 0, 1, 0) V(96) = MakeVertex(-0.3000000119, 0.5, -0.5, 0, 0, -1) V(97) = MakeVertex(-0.1000000089, 0.5, -0.5, 0, 1, 0) V(98) = MakeVertex(-0.1000000089, 0.5, -0.5, 0, 0, -1) V(99) = MakeVertex(0.09999999404, 0.5, -0.5, 0, 1, 0) V(100) = MakeVertex(0.09999999404, 0.5, -0.5, 0, 0, -1) V(101) = MakeVertex(0.3000000119, 0.5, -0.5, 0, 1, 0) V(102) = MakeVertex(0.3000000119, 0.5, -0.5, 0, 0, -1) V(103) = MakeVertex(0.5, 0.5, -0.5, 0, 1, 0) V(104) = MakeVertex(0.5, 0.5, -0.5, 0, 0, -1) V(105) = MakeVertex(0.5, 0.5, -0.5, 1, 0, 0) V(106) = MakeVertex(-0.5, 0.3000000119, -0.5, 0, 0, -1) V(107) = MakeVertex(-0.5, 0.3000000119, -0.5, -1, 0, 0) V(108) = MakeVertex(-0.3000000119, 0.3000000119, -0.5, 0, 0, -1) V(109) = MakeVertex(-0.1000000089, 0.3000000119, -0.5, 0, 0, -1) V(110) = MakeVertex(0.09999999404, 0.3000000119, -0.5, 0, 0, -1) V(111) = MakeVertex(0.3000000119, 0.3000000119, -0.5, 0, 0, -1) V(112) = MakeVertex(0.5, 0.3000000119, -0.5, 0, 0, -1) V(113) = MakeVertex(0.5, 0.3000000119, -0.5, 1, 0, 0) V(114) = MakeVertex(-0.5, 0.1000000089, -0.5, 0, 0, -1) V(115) = MakeVertex(-0.5, 0.1000000089, -0.5, -1, 0, 0) V(116) = MakeVertex(-0.3000000119, 0.1000000089, -0.5, 0, 0, -1) V(117) = MakeVertex(-0.1000000089, 0.1000000089, -0.5, 0, 0, -1) V(118) = MakeVertex(0.09999999404, 0.1000000089, -0.5, 0, 0, -1) V(119) = MakeVertex(0.3000000119, 0.1000000089, -0.5, 0, 0, -1) V(120) = MakeVertex(0.5, 0.1000000089, -0.5, 0, 0, -1) V(121) = MakeVertex(0.5, 0.1000000089, -0.5, 1, 0, 0) V(122) = MakeVertex(-0.5, -0.09999999404, -0.5, 0, 0, -1) V(123) = MakeVertex(-0.5, -0.09999999404, -0.5, -1, 0, 0) V(124) = MakeVertex(-0.3000000119, -0.09999999404, -0.5, 0, 0, -1) V(125) = MakeVertex(-0.1000000089, -0.09999999404, -0.5, 0, 0, -1) V(126) = MakeVertex(0.09999999404, -0.09999999404, -0.5, 0, 0, -1) V(127) = MakeVertex(0.3000000119, -0.09999999404, -0.5, 0, 0, -1) V(128) = MakeVertex(0.5, -0.09999999404, -0.5, 0, 0, -1) V(129) = MakeVertex(0.5, -0.09999999404, -0.5, 1, 0, 0) V(130) = MakeVertex(-0.5, -0.3000000119, -0.5, 0, 0, -1) V(131) = MakeVertex(-0.5, -0.3000000119, -0.5, -1, 0, 0) V(132) = MakeVertex(-0.3000000119, -0.3000000119, -0.5, 0, 0, -1) V(133) = MakeVertex(-0.1000000089, -0.3000000119, -0.5, 0, 0, -1) V(134) = MakeVertex(0.09999999404, -0.3000000119, -0.5, 0, 0, -1) V(135) = MakeVertex(0.3000000119, -0.3000000119, -0.5, 0, 0, -1) V(136) = MakeVertex(0.5, -0.3000000119, -0.5, 0, 0, -1) V(137) = MakeVertex(0.5, -0.3000000119, -0.5, 1, 0, 0) V(138) = MakeVertex(-0.5, -0.5, -0.5, 0, 0, -1) V(139) = MakeVertex(-0.5, -0.5, -0.5, 0, -1, 0) V(140) = MakeVertex(-0.5, -0.5, -0.5, -1, 0, 0) V(141) = MakeVertex(-0.3000000119, -0.5, -0.5, 0, 0, -1) V(142) = MakeVertex(-0.3000000119, -0.5, -0.5, 0, -1, 0) V(143) = MakeVertex(-0.1000000089, -0.5, -0.5, 0, 0, -1) V(144) = MakeVertex(-0.1000000089, -0.5, -0.5, 0, -1, 0) V(145) = MakeVertex(0.09999999404, -0.5, -0.5, 0, 0, -1) V(146) = MakeVertex(0.09999999404, -0.5, -0.5, 0, -1, 0) V(147) = MakeVertex(0.3000000119, -0.5, -0.5, 0, 0, -1) V(148) = MakeVertex(0.3000000119, -0.5, -0.5, 0, -1, 0) V(149) = MakeVertex(0.5, -0.5, -0.5, 0, 0, -1) V(150) = MakeVertex(0.5, -0.5, -0.5, 0, -1, 0) V(151) = MakeVertex(0.5, -0.5, -0.5, 1, 0, 0) V(152) = MakeVertex(-0.5, -0.5, -0.3000000119, 0, -1, 0) V(153) = MakeVertex(-0.5, -0.5, -0.3000000119, -1, 0, 0) V(154) = MakeVertex(-0.3000000119, -0.5, -0.3000000119, 0, -1, 0) V(155) = MakeVertex(-0.1000000089, -0.5, -0.3000000119, 0, -1, 0) V(156) = MakeVertex(0.09999999404, -0.5, -0.3000000119, 0, -1, 0) V(157) = MakeVertex(0.3000000119, -0.5, -0.3000000119, 0, -1, 0) V(158) = MakeVertex(0.5, -0.5, -0.3000000119, 0, -1, 0) V(159) = MakeVertex(0.5, -0.5, -0.3000000119, 1, 0, 0) V(160) = MakeVertex(-0.5, -0.5, -0.1000000089, 0, -1, 0) V(161) = MakeVertex(-0.5, -0.5, -0.1000000089, -1, 0, 0) V(162) = MakeVertex(-0.3000000119, -0.5, -0.1000000089, 0, -1, 0) V(163) = MakeVertex(-0.1000000089, -0.5, -0.1000000089, 0, -1, 0) V(164) = MakeVertex(0.09999999404, -0.5, -0.1000000089, 0, -1, 0) V(165) = MakeVertex(0.3000000119, -0.5, -0.1000000089, 0, -1, 0) V(166) = MakeVertex(0.5, -0.5, -0.1000000089, 0, -1, 0) V(167) = MakeVertex(0.5, -0.5, -0.1000000089, 1, 0, 0) V(168) = MakeVertex(-0.5, -0.5, 0.09999999404, 0, -1, 0) V(169) = MakeVertex(-0.5, -0.5, 0.09999999404, -1, 0, 0) V(170) = MakeVertex(-0.3000000119, -0.5, 0.09999999404, 0, -1, 0) V(171) = MakeVertex(-0.1000000089, -0.5, 0.09999999404, 0, -1, 0) V(172) = MakeVertex(0.09999999404, -0.5, 0.09999999404, 0, -1, 0) V(173) = MakeVertex(0.3000000119, -0.5, 0.09999999404, 0, -1, 0) V(174) = MakeVertex(0.5, -0.5, 0.09999999404, 0, -1, 0) V(175) = MakeVertex(0.5, -0.5, 0.09999999404, 1, 0, 0) V(176) = MakeVertex(-0.5, -0.5, 0.3000000119, 0, -1, 0) V(177) = MakeVertex(-0.5, -0.5, 0.3000000119, -1, 0, 0) V(178) = MakeVertex(-0.3000000119, -0.5, 0.3000000119, 0, -1, 0) V(179) = MakeVertex(-0.1000000089, -0.5, 0.3000000119, 0, -1, 0) V(180) = MakeVertex(0.09999999404, -0.5, 0.3000000119, 0, -1, 0) V(181) = MakeVertex(0.3000000119, -0.5, 0.3000000119, 0, -1, 0) V(182) = MakeVertex(0.5, -0.5, 0.3000000119, 0, -1, 0) V(183) = MakeVertex(0.5, -0.5, 0.3000000119, 1, 0, 0) V(184) = MakeVertex(0.5, -0.3000000119, -0.3000000119, 1, 0, 0) V(185) = MakeVertex(0.5, -0.3000000119, -0.1000000089, 1, 0, 0) V(186) = MakeVertex(0.5, -0.3000000119, 0.09999999404, 1, 0, 0) V(187) = MakeVertex(0.5, -0.3000000119, 0.3000000119, 1, 0, 0) V(188) = MakeVertex(0.5, -0.1000000089, -0.3000000119, 1, 0, 0) V(189) = MakeVertex(0.5, -0.1000000089, -0.1000000089, 1, 0, 0) V(190) = MakeVertex(0.5, -0.1000000089, 0.09999999404, 1, 0, 0) V(191) = MakeVertex(0.5, -0.1000000089, 0.3000000119, 1, 0, 0) V(192) = MakeVertex(0.5, 0.09999999404, -0.3000000119, 1, 0, 0) V(193) = MakeVertex(0.5, 0.09999999404, -0.1000000089, 1, 0, 0) V(194) = MakeVertex(0.5, 0.09999999404, 0.09999999404, 1, 0, 0) V(195) = MakeVertex(0.5, 0.09999999404, 0.3000000119, 1, 0, 0) V(196) = MakeVertex(0.5, 0.3000000119, -0.3000000119, 1, 0, 0) V(197) = MakeVertex(0.5, 0.3000000119, -0.1000000089, 1, 0, 0) V(198) = MakeVertex(0.5, 0.3000000119, 0.09999999404, 1, 0, 0) V(199) = MakeVertex(0.5, 0.3000000119, 0.3000000119, 1, 0, 0) V(200) = MakeVertex(-0.5, -0.3000000119, -0.3000000119, -1, 0, 0) V(201) = MakeVertex(-0.5, -0.3000000119, -0.1000000089, -1, 0, 0) V(202) = MakeVertex(-0.5, -0.3000000119, 0.09999999404, -1, 0, 0) V(203) = MakeVertex(-0.5, -0.3000000119, 0.3000000119, -1, 0, 0) V(204) = MakeVertex(-0.5, -0.1000000089, -0.3000000119, -1, 0, 0) V(205) = MakeVertex(-0.5, -0.1000000089, -0.1000000089, -1, 0, 0) V(206) = MakeVertex(-0.5, -0.1000000089, 0.09999999404, -1, 0, 0) V(207) = MakeVertex(-0.5, -0.1000000089, 0.3000000119, -1, 0, 0) V(208) = MakeVertex(-0.5, 0.09999999404, -0.3000000119, -1, 0, 0) V(209) = MakeVertex(-0.5, 0.09999999404, -0.1000000089, -1, 0, 0) V(210) = MakeVertex(-0.5, 0.09999999404, 0.09999999404, -1, 0, 0) V(211) = MakeVertex(-0.5, 0.09999999404, 0.3000000119, -1, 0, 0) V(212) = MakeVertex(-0.5, 0.3000000119, -0.3000000119, -1, 0, 0) V(213) = MakeVertex(-0.5, 0.3000000119, -0.1000000089, -1, 0, 0) V(214) = MakeVertex(-0.5, 0.3000000119, 0.09999999404, -1, 0, 0) V(215) = MakeVertex(-0.5, 0.3000000119, 0.3000000119, -1, 0, 0) I(0) = 0: I(1) = 3: I(2) = 14 I(3) = 16: I(4) = 14: I(5) = 3 I(6) = 3: I(7) = 5: I(8) = 16 I(9) = 17: I(10) = 16: I(11) = 5 I(12) = 5: I(13) = 7: I(14) = 17 I(15) = 18: I(16) = 17: I(17) = 7 I(18) = 7: I(19) = 9: I(20) = 18 I(21) = 19: I(22) = 18: I(23) = 9 I(24) = 9: I(25) = 11: I(26) = 19 I(27) = 20: I(28) = 19: I(29) = 11 I(30) = 14: I(31) = 16: I(32) = 22 I(33) = 24: I(34) = 22: I(35) = 16 I(36) = 16: I(37) = 17: I(38) = 24 I(39) = 25: I(40) = 24: I(41) = 17 I(42) = 17: I(43) = 18: I(44) = 25 I(45) = 26: I(46) = 25: I(47) = 18 I(48) = 18: I(49) = 19: I(50) = 26 I(51) = 27: I(52) = 26: I(53) = 19 I(54) = 19: I(55) = 20: I(56) = 27 I(57) = 28: I(58) = 27: I(59) = 20 I(60) = 22: I(61) = 24: I(62) = 30 I(63) = 32: I(64) = 30: I(65) = 24 I(66) = 24: I(67) = 25: I(68) = 32 I(69) = 33: I(70) = 32: I(71) = 25 I(72) = 25: I(73) = 26: I(74) = 33 I(75) = 34: I(76) = 33: I(77) = 26 I(78) = 26: I(79) = 27: I(80) = 34 I(81) = 35: I(82) = 34: I(83) = 27 I(84) = 27: I(85) = 28: I(86) = 35 I(87) = 36: I(88) = 35: I(89) = 28 I(90) = 30: I(91) = 32: I(92) = 38 I(93) = 40: I(94) = 38: I(95) = 32 I(96) = 32: I(97) = 33: I(98) = 40 I(99) = 41: I(100) = 40: I(101) = 33 I(102) = 33: I(103) = 34: I(104) = 41 I(105) = 42: I(106) = 41: I(107) = 34 I(108) = 34: I(109) = 35: I(110) = 42 I(111) = 43: I(112) = 42: I(113) = 35 I(114) = 35: I(115) = 36: I(116) = 43 I(117) = 44: I(118) = 43: I(119) = 36 I(120) = 38: I(121) = 40: I(122) = 46 I(123) = 49: I(124) = 46: I(125) = 40 I(126) = 40: I(127) = 41: I(128) = 49 I(129) = 51: I(130) = 49: I(131) = 41 I(132) = 41: I(133) = 42: I(134) = 51 I(135) = 53: I(136) = 51: I(137) = 42 I(138) = 42: I(139) = 43: I(140) = 53 I(141) = 55: I(142) = 53: I(143) = 43 I(144) = 43: I(145) = 44: I(146) = 55 I(147) = 57: I(148) = 55: I(149) = 44 I(150) = 47: I(151) = 50: I(152) = 60 I(153) = 62: I(154) = 60: I(155) = 50 I(156) = 50: I(157) = 52: I(158) = 62 I(159) = 63: I(160) = 62: I(161) = 52 I(162) = 52: I(163) = 54: I(164) = 63 I(165) = 64: I(166) = 63: I(167) = 54 I(168) = 54: I(169) = 56: I(170) = 64 I(171) = 65: I(172) = 64: I(173) = 56 I(174) = 56: I(175) = 58: I(176) = 65 I(177) = 66: I(178) = 65: I(179) = 58 I(180) = 60: I(181) = 62: I(182) = 68 I(183) = 70: I(184) = 68: I(185) = 62 I(186) = 62: I(187) = 63: I(188) = 70 I(189) = 71: I(190) = 70: I(191) = 63 I(192) = 63: I(193) = 64: I(194) = 71 I(195) = 72: I(196) = 71: I(197) = 64 I(198) = 64: I(199) = 65: I(200) = 72 I(201) = 73: I(202) = 72: I(203) = 65 I(204) = 65: I(205) = 66: I(206) = 73 I(207) = 74: I(208) = 73: I(209) = 66 I(210) = 68: I(211) = 70: I(212) = 76 I(213) = 78: I(214) = 76: I(215) = 70 I(216) = 70: I(217) = 71: I(218) = 78 I(219) = 79: I(220) = 78: I(221) = 71 I(222) = 71: I(223) = 72: I(224) = 79 I(225) = 80: I(226) = 79: I(227) = 72 I(228) = 72: I(229) = 73: I(230) = 80 I(231) = 81: I(232) = 80: I(233) = 73 I(234) = 73: I(235) = 74: I(236) = 81 I(237) = 82: I(238) = 81: I(239) = 74 I(240) = 76: I(241) = 78: I(242) = 84 I(243) = 86: I(244) = 84: I(245) = 78 I(246) = 78: I(247) = 79: I(248) = 86 I(249) = 87: I(250) = 86: I(251) = 79 I(252) = 79: I(253) = 80: I(254) = 87 I(255) = 88: I(256) = 87: I(257) = 80 I(258) = 80: I(259) = 81: I(260) = 88 I(261) = 89: I(262) = 88: I(263) = 81 I(264) = 81: I(265) = 82: I(266) = 89 I(267) = 90: I(268) = 89: I(269) = 82 I(270) = 84: I(271) = 86: I(272) = 92 I(273) = 95: I(274) = 92: I(275) = 86 I(276) = 86: I(277) = 87: I(278) = 95 I(279) = 97: I(280) = 95: I(281) = 87 I(282) = 87: I(283) = 88: I(284) = 97 I(285) = 99: I(286) = 97: I(287) = 88 I(288) = 88: I(289) = 89: I(290) = 99 I(291) = 101: I(292) = 99: I(293) = 89 I(294) = 89: I(295) = 90: I(296) = 101 I(297) = 103: I(298) = 101: I(299) = 90 I(300) = 93: I(301) = 96: I(302) = 106 I(303) = 108: I(304) = 106: I(305) = 96 I(306) = 96: I(307) = 98: I(308) = 108 I(309) = 109: I(310) = 108: I(311) = 98 I(312) = 98: I(313) = 100: I(314) = 109 I(315) = 110: I(316) = 109: I(317) = 100 I(318) = 100: I(319) = 102: I(320) = 110 I(321) = 111: I(322) = 110: I(323) = 102 I(324) = 102: I(325) = 104: I(326) = 111 I(327) = 112: I(328) = 111: I(329) = 104 I(330) = 106: I(331) = 108: I(332) = 114 I(333) = 116: I(334) = 114: I(335) = 108 I(336) = 108: I(337) = 109: I(338) = 116 I(339) = 117: I(340) = 116: I(341) = 109 I(342) = 109: I(343) = 110: I(344) = 117 I(345) = 118: I(346) = 117: I(347) = 110 I(348) = 110: I(349) = 111: I(350) = 118 I(351) = 119: I(352) = 118: I(353) = 111 I(354) = 111: I(355) = 112: I(356) = 119 I(357) = 120: I(358) = 119: I(359) = 112 I(360) = 114: I(361) = 116: I(362) = 122 I(363) = 124: I(364) = 122: I(365) = 116 I(366) = 116: I(367) = 117: I(368) = 124 I(369) = 125: I(370) = 124: I(371) = 117 I(372) = 117: I(373) = 118: I(374) = 125 I(375) = 126: I(376) = 125: I(377) = 118 I(378) = 118: I(379) = 119: I(380) = 126 I(381) = 127: I(382) = 126: I(383) = 119 I(384) = 119: I(385) = 120: I(386) = 127 I(387) = 128: I(388) = 127: I(389) = 120 I(390) = 122: I(391) = 124: I(392) = 130 I(393) = 132: I(394) = 130: I(395) = 124 I(396) = 124: I(397) = 125: I(398) = 132 I(399) = 133: I(400) = 132: I(401) = 125 I(402) = 125: I(403) = 126: I(404) = 133 I(405) = 134: I(406) = 133: I(407) = 126 I(408) = 126: I(409) = 127: I(410) = 134 I(411) = 135: I(412) = 134: I(413) = 127 I(414) = 127: I(415) = 128: I(416) = 135 I(417) = 136: I(418) = 135: I(419) = 128 I(420) = 130: I(421) = 132: I(422) = 138 I(423) = 141: I(424) = 138: I(425) = 132 I(426) = 132: I(427) = 133: I(428) = 141 I(429) = 143: I(430) = 141: I(431) = 133 I(432) = 133: I(433) = 134: I(434) = 143 I(435) = 145: I(436) = 143: I(437) = 134 I(438) = 134: I(439) = 135: I(440) = 145 I(441) = 147: I(442) = 145: I(443) = 135 I(444) = 135: I(445) = 136: I(446) = 147 I(447) = 149: I(448) = 147: I(449) = 136 I(450) = 139: I(451) = 142: I(452) = 152 I(453) = 154: I(454) = 152: I(455) = 142 I(456) = 142: I(457) = 144: I(458) = 154 I(459) = 155: I(460) = 154: I(461) = 144 I(462) = 144: I(463) = 146: I(464) = 155 I(465) = 156: I(466) = 155: I(467) = 146 I(468) = 146: I(469) = 148: I(470) = 156 I(471) = 157: I(472) = 156: I(473) = 148 I(474) = 148: I(475) = 150: I(476) = 157 I(477) = 158: I(478) = 157: I(479) = 150 I(480) = 152: I(481) = 154: I(482) = 160 I(483) = 162: I(484) = 160: I(485) = 154 I(486) = 154: I(487) = 155: I(488) = 162 I(489) = 163: I(490) = 162: I(491) = 155 I(492) = 155: I(493) = 156: I(494) = 163 I(495) = 164: I(496) = 163: I(497) = 156 I(498) = 156: I(499) = 157: I(500) = 164 I(501) = 165: I(502) = 164: I(503) = 157 I(504) = 157: I(505) = 158: I(506) = 165 I(507) = 166: I(508) = 165: I(509) = 158 I(510) = 160: I(511) = 162: I(512) = 168 I(513) = 170: I(514) = 168: I(515) = 162 I(516) = 162: I(517) = 163: I(518) = 170 I(519) = 171: I(520) = 170: I(521) = 163 I(522) = 163: I(523) = 164: I(524) = 171 I(525) = 172: I(526) = 171: I(527) = 164 I(528) = 164: I(529) = 165: I(530) = 172 I(531) = 173: I(532) = 172: I(533) = 165 I(534) = 165: I(535) = 166: I(536) = 173 I(537) = 174: I(538) = 173: I(539) = 166 I(540) = 168: I(541) = 170: I(542) = 176 I(543) = 178: I(544) = 176: I(545) = 170 I(546) = 170: I(547) = 171: I(548) = 178 I(549) = 179: I(550) = 178: I(551) = 171 I(552) = 171: I(553) = 172: I(554) = 179 I(555) = 180: I(556) = 179: I(557) = 172 I(558) = 172: I(559) = 173: I(560) = 180 I(561) = 181: I(562) = 180: I(563) = 173 I(564) = 173: I(565) = 174: I(566) = 181 I(567) = 182: I(568) = 181: I(569) = 174 I(570) = 1: I(571) = 176: I(572) = 178 I(573) = 178: I(574) = 4: I(575) = 1 I(576) = 4: I(577) = 178: I(578) = 179 I(579) = 179: I(580) = 6: I(581) = 4 I(582) = 6: I(583) = 179: I(584) = 180 I(585) = 180: I(586) = 8: I(587) = 6 I(588) = 8: I(589) = 180: I(590) = 181 I(591) = 181: I(592) = 10: I(593) = 8 I(594) = 10: I(595) = 181: I(596) = 182 I(597) = 182: I(598) = 12: I(599) = 10 I(600) = 184: I(601) = 159: I(602) = 151 I(603) = 184: I(604) = 151: I(605) = 137 I(606) = 185: I(607) = 167: I(608) = 159 I(609) = 159: I(610) = 184: I(611) = 185 I(612) = 186: I(613) = 175: I(614) = 167 I(615) = 167: I(616) = 185: I(617) = 186 I(618) = 187: I(619) = 183: I(620) = 175 I(621) = 175: I(622) = 186: I(623) = 187 I(624) = 183: I(625) = 21: I(626) = 13 I(627) = 21: I(628) = 183: I(629) = 187 I(630) = 188: I(631) = 184: I(632) = 137 I(633) = 188: I(634) = 137: I(635) = 129 I(636) = 189: I(637) = 185: I(638) = 184 I(639) = 184: I(640) = 188: I(641) = 189 I(642) = 190: I(643) = 186: I(644) = 185 I(645) = 185: I(646) = 189: I(647) = 190 I(648) = 191: I(649) = 187: I(650) = 186 I(651) = 186: I(652) = 190: I(653) = 191 I(654) = 187: I(655) = 29: I(656) = 21 I(657) = 29: I(658) = 187: I(659) = 191 I(660) = 192: I(661) = 188: I(662) = 129 I(663) = 192: I(664) = 129: I(665) = 121 I(666) = 193: I(667) = 189: I(668) = 188 I(669) = 188: I(670) = 192: I(671) = 193 I(672) = 194: I(673) = 190: I(674) = 189 I(675) = 189: I(676) = 193: I(677) = 194 I(678) = 195: I(679) = 191: I(680) = 190 I(681) = 190: I(682) = 194: I(683) = 195 I(684) = 191: I(685) = 37: I(686) = 29 I(687) = 37: I(688) = 191: I(689) = 195 I(690) = 196: I(691) = 192: I(692) = 121 I(693) = 196: I(694) = 121: I(695) = 113 I(696) = 197: I(697) = 193: I(698) = 192 I(699) = 192: I(700) = 196: I(701) = 197 I(702) = 198: I(703) = 194: I(704) = 193 I(705) = 193: I(706) = 197: I(707) = 198 I(708) = 199: I(709) = 195: I(710) = 194 I(711) = 194: I(712) = 198: I(713) = 199 I(714) = 195: I(715) = 45: I(716) = 37 I(717) = 45: I(718) = 195: I(719) = 199 I(720) = 196: I(721) = 113: I(722) = 91 I(723) = 113: I(724) = 105: I(725) = 91 I(726) = 197: I(727) = 196: I(728) = 83 I(729) = 196: I(730) = 91: I(731) = 83 I(732) = 198: I(733) = 197: I(734) = 75 I(735) = 197: I(736) = 83: I(737) = 75 I(738) = 199: I(739) = 198: I(740) = 67 I(741) = 198: I(742) = 75: I(743) = 67 I(744) = 199: I(745) = 59: I(746) = 45 I(747) = 199: I(748) = 67: I(749) = 59 I(750) = 131: I(751) = 140: I(752) = 153 I(753) = 131: I(754) = 153: I(755) = 200 I(756) = 153: I(757) = 161: I(758) = 200 I(759) = 201: I(760) = 200: I(761) = 161 I(762) = 161: I(763) = 169: I(764) = 201 I(765) = 202: I(766) = 201: I(767) = 169 I(768) = 169: I(769) = 177: I(770) = 202 I(771) = 203: I(772) = 202: I(773) = 177 I(774) = 203: I(775) = 177: I(776) = 2 I(777) = 2: I(778) = 15: I(779) = 203 I(780) = 123: I(781) = 131: I(782) = 200 I(783) = 123: I(784) = 200: I(785) = 204 I(786) = 200: I(787) = 201: I(788) = 204 I(789) = 205: I(790) = 204: I(791) = 201 I(792) = 201: I(793) = 202: I(794) = 205 I(795) = 206: I(796) = 205: I(797) = 202 I(798) = 202: I(799) = 203: I(800) = 206 I(801) = 207: I(802) = 206: I(803) = 203 I(804) = 207: I(805) = 203: I(806) = 15 I(807) = 15: I(808) = 23: I(809) = 207 I(810) = 115: I(811) = 123: I(812) = 204 I(813) = 115: I(814) = 204: I(815) = 208 I(816) = 204: I(817) = 205: I(818) = 208 I(819) = 209: I(820) = 208: I(821) = 205 I(822) = 205: I(823) = 206: I(824) = 209 I(825) = 210: I(826) = 209: I(827) = 206 I(828) = 206: I(829) = 207: I(830) = 210 I(831) = 211: I(832) = 210: I(833) = 207 I(834) = 211: I(835) = 207: I(836) = 23 I(837) = 23: I(838) = 31: I(839) = 211 I(840) = 107: I(841) = 115: I(842) = 208 I(843) = 107: I(844) = 208: I(845) = 212 I(846) = 208: I(847) = 209: I(848) = 212 I(849) = 213: I(850) = 212: I(851) = 209 I(852) = 209: I(853) = 210: I(854) = 213 I(855) = 214: I(856) = 213: I(857) = 210 I(858) = 210: I(859) = 211: I(860) = 214 I(861) = 215: I(862) = 214: I(863) = 211 I(864) = 215: I(865) = 211: I(866) = 31 I(867) = 31: I(868) = 39: I(869) = 215 I(870) = 94: I(871) = 107: I(872) = 212 I(873) = 85: I(874) = 94: I(875) = 212 I(876) = 85: I(877) = 212: I(878) = 213 I(879) = 77: I(880) = 85: I(881) = 213 I(882) = 77: I(883) = 213: I(884) = 214 I(885) = 69: I(886) = 77: I(887) = 214 I(888) = 69: I(889) = 214: I(890) = 215 I(891) = 61: I(892) = 69: I(893) = 215 I(894) = 39: I(895) = 61: I(896) = 215 I(897) = 39: I(898) = 48: I(899) = 61 ' Mostra il pannello di controllo Form2.Show Light(0).Type = D3DLIGHT_DIRECTIONAL Light(0).Direction.X = Cos(-45 * 3.14 / 180) * _ Cos(-30 * 3.14 / 180) Light(0).Direction.Y = Sin(-45 * 3.14 / 180) Light(0).Direction.Z = Cos(-45 * 3.14 / 180) * _ Sin(-30 * 3.14 / 180) Light(0).diffuse.R = 0.7 Light(0).diffuse.G = 0.7 Light(0).diffuse.B = 0.4 Light(0).Ambient.R = 0.7 Light(0).Ambient.G = 0.7 Light(0).Ambient.B = 0.4 Light(0).specular.R = 1 Light(0).specular.G = 1 Light(0).specular.B = 1 OnOff(0) = True Light(1).Type = D3DLIGHT_SPOT Light(1).Direction.X = Cos(-45 * 3.14 / 180) * _ Cos(-135 * 3.14 / 180) Light(1).Direction.Y = Sin(-45 * 3.14 / 180) Light(1).Direction.Z = Cos(-45 * 3.14 / 180) * _ Sin(-135 * 3.14 / 180) Light(1).Position.X = 2 Light(1).Position.Y = 2 Light(1).Position.Z = 2 Light(1).Attenuation0 = 1 Light(1).Attenuation1 = 0.05 Light(1).Range = 100 Light(1).Theta = 60 * 3.1416 / 180 Light(1).Phi = 60 * 3.1416 / 180 Light(1).diffuse.R = 1 Light(1).diffuse.G = 1 Light(1).diffuse.B = 1 Light(1).Ambient.R = 1 Light(1).Ambient.G = 1 Light(1).Ambient.B = 1 Light(1).specular.R = 1 Light(1).specular.G = 1 Light(1).specular.B = 1 OnOff(1) = True Light(2).Type = D3DLIGHT_DIRECTIONAL Light(2).Direction.X = Cos(0 * 3.14 / 180) * _ Cos(105 * 3.14 / 180) Light(2).Direction.Y = Sin(0 * 3.14 / 180) Light(2).Direction.Z = Cos(0 * 3.14 / 180) * _ Sin(105 * 3.14 / 180) Light(2).diffuse.R = 0.5 Light(2).diffuse.G = 1 Light(2).diffuse.B = 1 Light(2).Ambient.R = 0.5 Light(2).Ambient.G = 1 Light(2).Ambient.B = 1 Light(2).specular.R = 1 Light(2).specular.G = 1 Light(2).specular.B = 1 OnOff(2) = True Material.emissive.R = 0 Material.emissive.G = 0 Material.emissive.B = 0 Material.emissive.a = 1 Material.Ambient.R = 0 Material.Ambient.G = 0 Material.Ambient.B = 0 Material.Ambient.a = 1 Material.diffuse.R = 1 Material.diffuse.G = 1 Material.diffuse.B = 1 Material.diffuse.a = 1 Material.specular.R = 1 Material.specular.G = 1 Material.specular.B = 1 Material.specular.a = 1 Material.power = 5 ' Inizializza la variabile di permanenza nel ciclo di rendering bRunning = True ' Ciclo di rendering '''''''''''''''''''' ' Ripete fino a quando bRunning vale falso Do While bRunning ' Cancella lo schermo D3DDevice.Clear 0, ByVal 0, _ D3DCLEAR_TARGET Or D3DCLEAR_ZBUFFER, _ &H0, 1#, 0 'Form1.Caption = Int(AmbR * 255) * 65536 + Int(AmbG * 255) * 256 + Int(AmbB * 255) ' D3DDevice.SetRenderState D3DRS_AMBIENT, Int(AmbR * 255) * 65536 + Int(AmbG * 255) * 256 + Int(AmbB * 255) ' Imposta la luce: e' stato spostato qui, perche' adesso ' la luce puo' cambiare, quindi deve essere modificata ' nel ciclo di rendering For Lidx = 0 To 2 D3DDevice.SetLight Lidx, Light(Lidx) D3DDevice.LightEnable Lidx, OnOff(Lidx) Next ' Imposta il materiale D3DDevice.SetMaterial Material ' Inizia a disegnare su video D3DDevice.BeginScene ' Imposta le trasformazioni dell'oggetto D3DXMatrixIdentity matWorld ' Rotazioni D3DXMatrixRotationY matTemp, Rot * (3.1416 / 180) D3DXMatrixMultiply matWorld, matWorld, matTemp D3DXMatrixRotationZ matTemp, RotZ * (3.1416 / 180) D3DXMatrixMultiply matWorld, matWorld, matTemp D3DDevice.SetTransform D3DTS_WORLD, matWorld ' Disegna l'oggetto D3DDevice.DrawIndexedPrimitiveUP D3DPT_TRIANGLELIST, 0, 216, 300, _ I(0), D3DFMT_INDEX16, V(0), Len(V(0)) ' Finisce la fase di disegno D3DDevice.EndScene ' Trasferisce il contenuto del Doppio Buffer sullo schermo D3DDevice.Present ByVal 0, ByVal 0, 0, ByVal 0 ' Restituisce il controllo a Windows per dargli la possibilita' di gestire altri eventi DoEvents Loop ' Rilascio delle risorse '''''''''''''''''''''''' Set D3DDevice = Nothing Set D3D = Nothing Set Dx = Nothing ' Chiude l'applicazione Unload Me End Sub Private Sub Timer1_Timer() Rot = Rot + 5 If Rot >= 360 Then Rot = 0 End If RotZ = RotZ + 1 If RotZ >= 360 Then RotZ = 0 End If End Sub