亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? cgl.cls

?? 3ds文件瀏覽程序
?? CLS
字號(hào):
VERSION 1.0 CLASS
BEGIN
  MultiUse = -1  'True
  Persistable = 0  'NotPersistable
  DataBindingBehavior = 0  'vbNone
  DataSourceBehavior  = 0  'vbNone
  MTSTransactionMode  = 0  'NotAnMTSObject
END
Attribute VB_Name = "CGL"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = True
Attribute VB_PredeclaredId = False
Attribute VB_Exposed = False
Attribute VB_Ext_KEY = "SavedWithClassBuilder" ,"Yes"
Attribute VB_Ext_KEY = "Top_Level" ,"Yes"
Option Explicit
'*************************************************************************
'FUNCTION: main class which responds to the ocx.
' manages the drawing and viewing states
'AUTHOR: edx - edx@hk.super.net, Oct 98 - all rights reserved
'HISTORY: -
'NOTES: This app doesn't use the ocx timer, and only paints when
'needed, so it must call gCtl.Render when whenever it changes
'the scene, view, or display mode.
'*************************************************************************
Dim m_bDragging As Boolean
Dim m_MouseX&, m_MouseY&
Dim m_StartX&, m_StartY&
Dim m_Center!(0 To 2)
Dim m_GLEditState As GLEditStates
Dim m_OldGLEditState As GLEditStates
Dim m_ShowGrid As Boolean
'
Dim m_View As GLViews
Dim m_NearPlaneP!, m_NearPlaneO!, m_FarPlane!
Dim m_FOV!, m_EyeDist!, m_OrthoBox!
Dim m_OL!, m_OR!, m_OB!, m_OT!
Dim m_Grid As Boolean
Dim m_ScaleFactor!
Dim m_DefLightPos!(0 To 2)

Private Sub Class_Initialize()
    m_NearPlaneO = -10000
    m_NearPlaneP = 1
    m_FarPlane = 10000
    m_FOV = 45
    m_EyeDist = 200
    m_OrthoBox = 100
    m_OL = -m_OrthoBox
    m_OR = m_OrthoBox
    m_OB = -m_OrthoBox
    m_OT = m_OrthoBox
    m_ScaleFactor = 1
    m_DefLightPos(1) = 200
    m_DefLightPos(2) = 150
End Sub

Public Sub Init()
    'do pre-GL stuff here - set pf
End Sub

Public Sub InitGL()
    glClearColor 0.3, 0.3, 0.3, 0
    With gCtl.Lights.Item(liLight0)
        .SetAmbient 0.1, 0.1, 0.1
        .SetDiffuse 1, 1, 1
        .SetPosition m_DefLightPos(0), m_DefLightPos(1), m_DefLightPos(2)
        .Enabled = True
    End With
    glFrontFace GL_CCW
    glCullFace GL_BACK
    'glEnable GL_CULL_FACE
    glPolygonMode GL_FRONT_AND_BACK, GL_LINE
    glDisable GL_LIGHTING
    glShadeModel GL_SMOOTH
    With gCtl.Camera
        .FarPlane = m_FarPlane
        .NearPlane = m_NearPlaneO
        .FieldOfView = m_FOV
        .SetEyePos 0, 0, m_EyeDist
        .SetTargetPos 0, 0, 0
        .SetOrtho m_OL, m_OR, m_OB, m_OT
        .SetOrthoEyePos 0, 0, m_EyeDist
    End With
    '
    With gCtl
        .Grid = glxGridX
        .GridStep = 10
        .SetWorldSize 400, 400, 400
        .Axis = glxXYZ
        .MouseRotate = True
        .Trackball.Animate = False
    End With
    '
    glEnableClientState GL_VERTEX_ARRAY
    glEnableClientState GL_NORMAL_ARRAY
    glEnableClientState GL_TEXTURE_COORD_ARRAY
    '
    EditState = STATE_SELECT
End Sub

'----------------------------------------------------
Public Sub Draw()
    With gCtl.Lights.Item(liLight0)
        .SetPosition m_DefLightPos(0), m_DefLightPos(1), m_DefLightPos(2)
    End With
    With gCtl
        .Trackball.Update
        If m_Grid Then .DrawGrids
    End With
    If ReadyToDraw Then
        glPushMatrix
        glRotatef -90, 1, 0, 0
        glTranslatef -m_Center(0), -m_Center(1), -m_Center(2)
        'no good, fucks up the normals
        'glScalef m_ScaleFactor, m_ScaleFactor, m_ScaleFactor
        Scene.Draw
        glPopMatrix
    Else
        'test object
        'gCtl.Shapes.SolidTorus 10, 50, 16, 32
    End If
End Sub

'----------------------------------------------------
Public Function Reshape(width&, height&) As Boolean
    Reshape = True
    gCtl.Render
End Function

'----------------------------------------------------
Public Sub KeyDown(KeyCode%, Shift%)
    Select Case (KeyCode)
    Case vbKeyLeft:
    Case vbKeyRight:
    Case vbKeyUp:
    Case vbKeyDown:
    Case 27:
    Case Else:
    End Select
End Sub

Public Sub KeyPress(KeyAscii As Integer)
Dim s$
    s = Chr$(KeyAscii)
    Select Case (s)
    End Select
End Sub

'----------------------------------------------------
Public Sub MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then
        m_bDragging = True
        m_StartX = x
        m_StartY = y
    ElseIf Button = 2 Then
        m_OldGLEditState = EditState
        EditState = STATE_ARCROTATE
    End If
    m_MouseX = x
    m_MouseY = y
End Sub

'----------------------------------------------------
Public Sub MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then
        If m_bDragging Then
            'to manipulate the model....
            With gCtl.Camera
                Select Case GL.EditState
                Case STATE_SELECT:
                Case STATE_ZOOM: Zoom x, y
                Case STATE_ARCROTATE
                Case STATE_PAN: Pan x, y
                End Select
            End With
            gCtl.Render
        End If
    ElseIf Button = 2 Then
        gCtl.Render
    End If
    m_MouseX = x
    m_MouseY = y
End Sub

'----------------------------------------------------
Public Sub MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
    If Button = 1 Then
    ElseIf Button = 2 Then
        EditState = m_OldGLEditState
    End If
End Sub


'------------------------------------------------------------
Public Property Get EditState() As GLEditStates
    EditState = m_GLEditState
End Property

Public Property Let EditState(ByVal NewValue As GLEditStates)
    m_GLEditState = NewValue
    With frmMain
        Select Case m_GLEditState
        Case STATE_SELECT: .SetCursor "select"
        Case STATE_ZOOM: .SetCursor "zoom"
        Case STATE_PAN: .SetCursor "pan"
        End Select
    End With
End Property

'------------------------------------------------------------
Public Property Let View(ByVal NewValue As GLViews)
Dim s$
'leave the target the same in ortho views
With gCtl.Camera
    m_View = NewValue
    If m_View = GLVIEW_PERSPECTIVE Then
        .NearPlane = m_NearPlaneP
        gCtl.MouseRotate = True
    Else:
        .NearPlane = m_NearPlaneO
        gCtl.MouseRotate = False
        gCtl.Trackball.Reset
    End If
    Select Case NewValue
    Case GLVIEW_PERSPECTIVE:
        .SetEyePos 0, 0, m_EyeDist
        .SetTargetPos 0, 0, 0
        .View = glxPerspective '0
        s = "Perspective"
        gCtl.Grid = glxGridX
    Case Else
        .SetTargetPos 0, 0, 0
        Select Case NewValue
        Case GLVIEW_TOP:
            .SetOrthoEyePos 0, m_EyeDist, 0
            s = "Top" '2
            gCtl.Grid = glxGridX
        Case GLVIEW_FRONT:
            .SetOrthoEyePos 0, 0, m_EyeDist
            s = "Front" '3
            gCtl.Grid = glxGridY
        Case GLVIEW_LEFT:
            .SetOrthoEyePos -m_EyeDist, 0, 0
            s = "Left" '5
            gCtl.Grid = glxGridYZ
        Case GLVIEW_RIGHT:
            .SetOrthoEyePos m_EyeDist, 0, 0
            s = "Right" '7
            gCtl.Grid = glxGridYZ
        Case GLVIEW_BACK:
            .SetOrthoEyePos 0, 0, -m_EyeDist
            s = "Back" '6
            gCtl.Grid = glxGridY
        Case GLVIEW_BOTTOM:
            .SetOrthoEyePos 0, -m_EyeDist, 0
            s = "Bottom" '4
            gCtl.Grid = glxGridX
        Case Else: Debug.Assert 0
        End Select
        .View = m_View
        m_SetOrtho
    End Select
End With
frmMain.SetStatusView " " & s & " view"
gCtl.Render
End Property

'---------------------------------------------------------
'default frustrum is 200x200
Public Sub Zoom(x!, y!)
Dim IncY!, Speed!, ZoomInc!
Dim ex!, ey!, ez!
'
With gCtl.Camera
    IncY = y - m_MouseY
    If IncY = 0 Then Exit Sub
    'zoom speed adjustment
    Speed = 1
    If m_EyeDist < 1 Then Speed = 3
    ZoomInc = IncY * Speed: ' Debug.Print "zoomInc:" & ZoomInc
    If ZoomInc > 0 Then
        m_EyeDist = m_EyeDist * 1.1 * Speed
    Else
        m_EyeDist = m_EyeDist * 0.9 * Speed
    End If
    'inner range limit
    If m_EyeDist < 0.05 Then m_EyeDist = 0.05
    'outer range limit
    If m_EyeDist > m_FarPlane * 0.95 Then m_EyeDist = m_FarPlane * 0.95
    Debug.Print "z" & m_EyeDist
    Select Case m_View
    Case GLVIEW_PERSPECTIVE:
        .GetEyePos ex, ey, ez
        .SetEyePos ex, ey, m_EyeDist
    Case Else
        m_SetOrtho
    End Select
End With
End Sub

'---------------------------------------------------------
Private Sub m_SetOrtho()
Dim l#, r#, b#, t#
    r = m_EyeDist / 2
    l = -r
    b = l
    t = r
    gCtl.Camera.SetOrtho l, r, b, t
    'grid spacing hack.
    With gCtl
    If r < 20 Then
        .GridStep = 1
        .SetWorldSize 200, 200, 200
        'debug
    ElseIf r < 100 Then
        gCtl.GridStep = 10
        .SetWorldSize 400, 400, 400
    Else
        gCtl.GridStep = 100
        r = r * 10
        .SetWorldSize 1000, 1000, 1000
    End If
    End With
End Sub

'---------------------------------------------------------
'might want to add code to adjust the clipping planes when
'the view is panned and model starts to get clipped.
'---------------------------------------------------------
Public Sub Pan(x!, y!)
Dim IncX!, IncY!, nx!, ny!
Dim m_ZoomFactor!, ex!, ey!, ez!, tx!, ty!, tz!
With gCtl.Camera
    m_ZoomFactor = m_EyeDist / 200
    IncX = m_MouseX - x
    IncY = m_MouseY - y
    .GetEyePos ex, ey, ez
    .GetTargetPos tx, ty, tz
    ny = -IncY * 0.4 * m_ZoomFactor
    nx = IncX * 0.4 * m_ZoomFactor
    Select Case m_View
    Case GLVIEW_PERSPECTIVE:
        ex = ex + nx
        ey = ey + ny
        tx = tx + nx
        ty = ty + ny
    Case glxTop
        tx = tx + nx
        ex = ex + nx
        tz = tz - ny
        ez = ez - ny
    Case glxBottom
        tx = tx + nx
        ex = ex + nx
        tz = tz - ny
        ez = ez - ny
    Case glxFront
        tx = tx + nx
        ex = ex + nx
        ty = ty + ny
        ey = ey + ny
    Case glxBack
        tx = tx - nx
        ex = ex - nx
        ty = ty + ny
        ey = ey + ny
    Case glxLeft
        tz = tz - nx
        ez = ez - nx
        ty = ty + ny
        ey = ey + ny
    Case glxRight
        tz = tz + nx
        ez = ez + nx
        ty = ty + ny
        ey = ey + ny
    Case Else
        Debug.Assert 0
    End Select
    .SetEyePos ex, ey, ez
    .SetTargetPos tx, ty, tz
End With
End Sub

'---------------------------------------------------------
'show or hide the grid
Public Property Get Grid() As Boolean
    Grid = m_Grid
End Property

Public Property Let Grid(ByVal NewValue As Boolean)
    m_Grid = NewValue
    gCtl.Render
End Property

'------------------------------------------------------------
'parameters are the bounding box of the model
'rather than moving the points of the model, we translate it to the origin.
'The 'center' is the translation needed to center the object on screen.
'This also adjusts the clipping planes to the model's size.
'------------------------------------------------------------
Public Sub SetCenter(l!, r!, b!, t!, bk!, f!)
Dim x!, y!, z!, s$
Dim w!
    x = r - l
    y = t - b
    z = f - b
    s = Format$(x, "FIXED")
    Debug.Print s
    frmMain.sts.Panels(1) = "Size: " & x & "," & y & "," & z
    m_Center(0) = l + (r - l) / 2
    m_Center(1) = b + (t - b) / 2
    m_Center(2) = bk + (f - bk) / 2
    w = x
    If y > w Then w = y
    If z > w Then w = z
    'If w * 1.3 > m_FarPlane Then
    m_FarPlane = w * 4
    m_NearPlaneO = -m_FarPlane
    'update
    View = m_View
    'End If
End Sub

Public Sub GetCenterv(v!())
Dim i&
For i = 0 To 2
    v(i) = m_Center(i)
Next
End Sub

'---------------------------------------------------------
'3ds chunk. This isn't used.
Public Property Get MasterScale!()
    MasterScale = m_ScaleFactor
End Property

Public Property Let MasterScale(ByVal NewValue!)
    If m_ScaleFactor <> 1 Then Debug.Assert 0
    m_ScaleFactor = NewValue
End Property

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日本一区二区| 亚洲v日本v欧美v久久精品| 中文字幕亚洲电影| 五月婷婷激情综合网| 国产精品综合一区二区| 欧美日韩免费电影| 中文字幕一区二区三区精华液| 亚洲亚洲精品在线观看| 成人免费视频网站在线观看| 在线播放91灌醉迷j高跟美女| 国产精品福利在线播放| 蜜臀91精品一区二区三区| 99re66热这里只有精品3直播| 欧美一级免费大片| 亚洲午夜日本在线观看| 成人精品免费网站| 精品国产免费人成电影在线观看四季| 美女一区二区三区| 日本亚洲一区二区| 99久久99久久精品免费看蜜桃| 日本精品视频一区二区| 中文字幕欧美日韩一区| 极品少妇一区二区三区精品视频 | 日韩免费视频线观看| 一区二区高清视频在线观看| 国产精品正在播放| 精品久久久久久久久久久院品网| 欧美三级在线播放| 最新不卡av在线| 国产精品久久久久久福利一牛影视| 亚洲一区二区三区中文字幕在线| 一区二区三区四区在线| 亚洲精品视频一区二区| 亚洲五月六月丁香激情| av影院午夜一区| 欧美视频在线观看一区| 色老综合老女人久久久| 国产不卡在线一区| 国产成人午夜99999| 五月天亚洲精品| 国产精品亚洲午夜一区二区三区| 国产乱子伦视频一区二区三区 | 欧美激情在线看| 亚洲成a人片在线不卡一二三区| 成人精品视频一区二区三区 | 亚洲bt欧美bt精品777| 在线观看国产91| 亚洲激情六月丁香| 欧美日韩国产经典色站一区二区三区 | av一二三不卡影片| 亚洲人成网站色在线观看| 99久久er热在这里只有精品66| 国产精品久久久久久久裸模| 91亚洲男人天堂| 一级中文字幕一区二区| 91精品国产色综合久久不卡蜜臀| 看片网站欧美日韩| 欧美激情一区二区三区在线| 成人黄色国产精品网站大全在线免费观看| 欧美系列日韩一区| 日韩电影一二三区| 国产人成亚洲第一网站在线播放| aa级大片欧美| 亚洲制服丝袜一区| 日韩精品在线看片z| 国产99精品在线观看| 亚洲另类中文字| 日韩免费观看2025年上映的电影| 国产精品99久| 艳妇臀荡乳欲伦亚洲一区| 欧美精品一二三区| 激情丁香综合五月| 亚洲免费色视频| 久久久亚洲午夜电影| 91美女视频网站| 老司机精品视频在线| 国产精品久久久一区麻豆最新章节| 色婷婷综合中文久久一本| 免费视频一区二区| 国产精品美女久久久久久久久久久| 在线亚洲人成电影网站色www| 日韩在线a电影| 中文字幕亚洲区| www国产精品av| 欧美日韩小视频| 精品99999| 精品国产一区二区三区四区四| 精品一区二区三区av| 亚洲欧美日本韩国| 久久精品人人做人人爽97| 色吧成人激情小说| 处破女av一区二区| 免费在线一区观看| 亚洲在线免费播放| 国产精品毛片久久久久久| 欧美成人午夜电影| 欧美视频精品在线| 91丝袜高跟美女视频| 国产高清不卡一区二区| 美日韩一区二区三区| 视频在线观看一区二区三区| 亚洲精品一卡二卡| 亚洲男同1069视频| 国产精品欧美一区喷水| 久久久91精品国产一区二区精品 | 国产成a人亚洲| 久久99在线观看| 日韩不卡一二三区| 亚洲国产综合人成综合网站| 欧美韩国一区二区| 欧美激情一区在线观看| 欧美国产一区在线| 国产嫩草影院久久久久| 久久青草欧美一区二区三区| 日韩精品自拍偷拍| 欧美大片在线观看一区| 日韩小视频在线观看专区| 67194成人在线观看| 欧美精品色一区二区三区| 欧美日韩高清不卡| 制服丝袜成人动漫| 日韩欧美一区在线| 精品日韩欧美在线| 欧美国产日韩亚洲一区| 国产精品久久久久天堂| 国产精品私人影院| 亚洲欧美欧美一区二区三区| 亚洲精品老司机| 一区二区三区在线视频观看58 | 在线观看区一区二| 欧美日韩国产不卡| 日韩欧美电影一二三| 精品国产乱码久久久久久久| 久久青草国产手机看片福利盒子 | 日韩一区二区三区在线视频| 日韩美女一区二区三区四区| 久久精品人人爽人人爽| 中文字幕字幕中文在线中不卡视频| 中文字幕欧美一| 亚洲一区二区三区不卡国产欧美| 天天操天天色综合| 久久99精品国产| 大桥未久av一区二区三区中文| 91免费视频观看| 欧美一区二区三区在线观看| 精品国产不卡一区二区三区| 欧美激情综合五月色丁香| 亚洲自拍偷拍av| 国产麻豆视频一区| 欧美综合亚洲图片综合区| 3atv一区二区三区| 国产精品伦一区二区三级视频| 亚洲成a天堂v人片| 国产不卡一区视频| 欧美区视频在线观看| 久久久亚洲精品一区二区三区| 亚洲欧美日韩国产中文在线| 麻豆精品视频在线| 91视频观看视频| 久久先锋影音av鲁色资源网| 亚洲一区在线看| 国产不卡一区视频| 91精品国产手机| 亚洲综合精品久久| 国产91在线|亚洲| 91麻豆精品国产自产在线| 国产精品乱码人人做人人爱| 日韩精品成人一区二区三区| 94-欧美-setu| 精品久久久久久久一区二区蜜臀| 尤物在线观看一区| 高清在线成人网| 欧美电影免费提供在线观看| 一区二区三区日韩欧美| 国产成人av一区| 欧美精品一区二区三区在线 | 一区二区三区精品在线观看| 国产精品中文欧美| 日韩视频免费观看高清完整版| 尤物视频一区二区| 99久久精品情趣| 国产亚洲欧美日韩日本| 秋霞国产午夜精品免费视频| 欧美亚洲丝袜传媒另类| 一色桃子久久精品亚洲| 国产河南妇女毛片精品久久久| 日韩女优av电影在线观看| 无码av免费一区二区三区试看 | 亚洲一区二区三区四区中文字幕| 成人三级伦理片| 国产午夜精品理论片a级大结局| 久久国产精品99精品国产| 91麻豆精品国产自产在线观看一区 | 日韩电影免费在线观看网站| 在线免费观看日本一区| 亚洲日本乱码在线观看| 99精品视频在线观看| 国产精品久久久久久久岛一牛影视| 国产成都精品91一区二区三| 国产精品色一区二区三区|