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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mread3ds.bas

?? 3ds文件瀏覽程序
?? BAS
?? 第 1 頁 / 共 4 頁
字號:
Exit Function
ErrorHandler:
    Debug.Assert 0
    Exit Function
    Resume Next
End Function

'----------------------------------------------------
' Read a material definition, add it to the material collection.
' Materials are linked into the chain of nodes, but they are also
' maintained separately in Materials collection.
'----------------------------------------------------
Public Function ReadMatEntry(ParentNode As CNode, MyChunk As Chunk3DS) As Boolean
Dim MyChunkStart&, MyChunkEnd&
Dim Chunk As Chunk3DS, Name$, ChunkStart&
Dim red!, green!, blue!, percentage!, s%, f!, i&, b As Byte
Dim material As CMaterial
Dim Field As CField
On Error GoTo ErrorHandler
    Set material = New CMaterial
    GetSize MyChunkStart, MyChunkEnd, MyChunk
    With material
    Do While m_Ptr < MyChunkEnd
        ChunkStart = m_Ptr
        If Not ReadChunkHeader(Chunk) Then Exit Do
        Select Case Chunk.ID
        Case MAT_NAME:
            If Not Read3DSString(Name) Then Exit Function
            Debug.Print "Reading material:" & Name
        Case MAT_AMBIENT:
            If Not ReadColor(material, red, green, blue) Then Exit Function
            .SetAmbient red, green, blue
            If Chunk.Length = 24 Then
                If Not ReadColor(material, red, green, blue) Then Exit Function
            End If
        Case MAT_DIFFUSE:
            If Not ReadColor(material, red, green, blue) Then Exit Function
            .SetDiffuse red, green, blue
            If Chunk.Length = 24 Then
                If Not ReadColor(material, red, green, blue) Then Exit Function
            End If
        Case MAT_SPECULAR:
            If Not ReadColor(material, red, green, blue) Then Exit Function
            .SetSpecular red, green, blue
            If Chunk.Length = 24 Then
                If Not ReadColor(material, red, green, blue) Then Exit Function
            End If
        Case MAT_SHININESS:
            If Not ReadPercentage(material, percentage) Then Exit Function
            .Shininess 128 * percentage
        Case MAT_TRANSPARENCY:
            If Not ReadPercentage(material, percentage) Then Exit Function
            .Transparency = percentage
        Case MAT_TWO_SIDE:
            .TwoSide = True
        Case MAT_DECAL
            .Decal = True
        Case MAT_TEXMAP, MAT_TEXMASK, MAT_TEX2MAP, MAT_TEX2MASK, MAT_OPACMAP, MAT_OPACMASK, _
            MAT_BUMPMAP, MAT_BUMPMASK, MAT_SPECMAP, MAT_SPECMASK, MAT_SHINMAP, MAT_SHINMASK, _
            MAT_SELFIMAP, MAT_SELFIMASK, MAT_REFLMAP, MAT_REFLMASK:
            If Not ReadMap(material, Chunk) Then Exit Function
        'percent
        Case MAT_SHIN2PCT, MAT_XPFALL, MAT_REFBLUR, MAT_SELF_ILPCT
            If Not ReadPercentage(material, percentage) Then Exit Function
            Set Field = .AddField(Chunk.ID)
            Field.Value = percentage
        'short
        Case MAT_SHADING
            If Not ReadShort(m_Ptr, s) Then Exit Function
            Set Field = .AddField(Chunk.ID)
            Field.Value = s
        'boolean chunks
        Case MAT_SELF_ILLUM, MAT_PHONGSOFT, MAT_FACEMAP, MAT_WIRE, MAT_USE_XPFALL, MAT_USE_REFBLUR, MAT_ADDITIVE
            Set Field = .AddField(Chunk.ID)
            Field.Value = "True"
        'float
        Case MAT_WIRESIZE
            If Not ReadFloat(m_Ptr, f) Then Exit Function
            Set Field = .AddField(Chunk.ID)
            Field.Value = f
        Case MAT_ACUBIC
            'these values don't have IDs defined
            If Not ReadByte(m_Ptr, b) Then Exit Function 'unused
            If Not ReadByte(m_Ptr, b) Then Exit Function 'unused
            'AcubicAntiAlias
            Set Field = .AddField(Chunk.ID)
            Field.Value = b
            If Not ReadShort(m_Ptr, s) Then Exit Function
            'AcubicReflection
            Set Field = .AddField(Chunk.ID)
            Field.Value = s
            If Not ReadLong(m_Ptr, i) Then Exit Function
            'AcubicMapSize
            Set Field = .AddField(Chunk.ID)
            Field.Value = i
            If Not ReadLong(m_Ptr, i) Then Exit Function
            'AcubicFrame = i
            Set Field = .AddField(Chunk.ID)
            Field.Value = i
        'procedurals
        Case MAT_SXP_TEXT_DATA, MAT_SXP_TEXT_MASKDATA, MAT_SXP_TEXT2_DATA, MAT_SXP_TEXT2_MASKDATA, MAT_SXP_OPAC_DATA, MAT_SXP_OPAC_MASKDATA, _
            MAT_SXP_BUMP_DATA, MAT_SXP_BUMP_MASKDATA, MAT_SXP_SPEC_DATA, MAT_SXP_SPEC_MASKDATA, MAT_SXP_SHIN_DATA, _
            MAT_SXP_SHIN_MASKDATA, MAT_SXP_SELFI_DATA, MAT_SXP_SELFI_MASKDATA, MAT_SXP_REFL_MASKDATA
            If Not SkipChunk(material, Chunk) Then Exit Function
        Case MAT_XPFALLIN 'unknown
            If Not SkipChunk(material, Chunk) Then Exit Function
        Case Else: ' Skip unknown chunks
            If Chunk.ID <> DUMMY Then
            Debug.Assert 0
            End If
            If Not SkipChunk(material, Chunk) Then Exit Function
        End Select
    Loop
    '
    material.NodeID = NODE_MATERIAL
    material.ChunkID = MAT_ENTRY
    Materials.Add ParentNode, Name, material
    End With
    ReadMatEntry = True
'----------------------------------------------------
Exit Function
ErrorHandler:
    Debug.Assert 0
    Exit Function
    Resume Next
End Function

Public Function ReadMap(material As CMaterial, MyChunk As Chunk3DS) As Boolean
Dim MyChunkStart&, MyChunkEnd&
Dim Chunk As Chunk3DS, Name$, ChunkStart&
Dim x!, s%
Dim Map As CMap
On Error GoTo ErrorHandler
    'Stop
    Set Map = material.GetMap(MyChunk.ID)
    GetSize MyChunkStart, MyChunkEnd, MyChunk
    '
    Do While m_Ptr < MyChunkEnd
        ChunkStart = m_Ptr
        If Not ReadChunkHeader(Chunk) Then Exit Do
        Select Case Chunk.ID
        Case INT_PERCENTAGE:
            If Not ReadShort(m_Ptr, s) Then Exit Function
            Map.Strength = s
        Case MAT_MAPNAME:
            If Not Read3DSString(Name) Then Exit Function
            Debug.Print "Reading map:" & Name
            Map.Filename = Name
        Case MAT_MAP_TILING:
            If Not ReadShort(m_Ptr, s) Then Exit Function
            Map.Tiling = s
        Case MAT_MAP_USCALE:
            If Not ReadFloat(m_Ptr, x) Then Exit Function
            Map.UScale = x
        Case MAT_MAP_VSCALE:
            If Not ReadFloat(m_Ptr, x) Then Exit Function
            Map.VScale = x
        Case MAT_MAP_UOFFSET:
            If Not ReadFloat(m_Ptr, x) Then Exit Function
            Map.UOffset = x
        Case MAT_MAP_VOFFSET:
            If Not ReadFloat(m_Ptr, x) Then Exit Function
            Map.VOffset = x
        Case MAT_MAP_ANG
            If Not ReadFloat(m_Ptr, x) Then Exit Function
            Map.Angle = x
        Case MAT_MAP_TEXBLUR, MAT_MAP_COL1, MAT_MAP_COL2, MAT_MAP_RCOL, MAT_MAP_GCOL, MAT_MAP_BCOL, MAT_BUMP_PERCENT
            If Not SkipChunk(Map, Chunk) Then Exit Function
        Case Else:
            If Chunk.ID <> DUMMY Then
            Debug.Assert 0
            End If
            If Not SkipChunk(Map, Chunk) Then Exit Function
        End Select
    Loop
    '
    ReadMap = True
'----------------------------------------------------
Exit Function
ErrorHandler:
    Debug.Assert 0
    Exit Function
    Resume Next
End Function

'----------------------------------------------------
' ReadNamedObject -
'----------------------------------------------------
Public Function ReadNamedObject(ParentNode As CNode, MyChunk As Chunk3DS)
Dim MyChunkStart&, MyChunkEnd&
Dim Name$, Chunk As Chunk3DS, ChunkStart&
On Error GoTo ErrorHandler
Dim MyNode As CNode
    GetSize MyChunkStart, MyChunkEnd, MyChunk
    If Not Read3DSString(Name) Then Exit Function
    Set MyNode = Scene.AddNode(ParentNode, NAMED_OBJECT, NODE_ROOT, Name)
    Do While m_Ptr < MyChunkEnd
        ChunkStart = m_Ptr
        If Not ReadChunkHeader(Chunk) Then Exit Function
        Select Case Chunk.ID
        Case N_CAMERA
            If Not ReadCamera(MyNode, Chunk) Then Exit Function
        Case N_DIRECT_LIGHT
            If Not ReadDLight(MyNode, Chunk) Then Exit Function
        Case N_TRI_OBJECT:
            If Not ReadTriObject(MyNode, Chunk) Then Exit Function
        'skipped chunks
        Case OBJ_HIDDEN, OBJ_VIS_LOFTER, OBJ_DOESNT_CAST, OBJ_DONT_RCVSHADOW, OBJ_MATTE, OBJ_FAST, _
            OBJ_PROCEDURAL, OBJ_FROZEN
            'Debug.Assert 0
            If Not SkipChunk(ParentNode, Chunk) Then Exit Function
        Case Else:
            Debug.Assert 0
            If Not SkipChunk(MyNode, Chunk) Then Exit Function
        End Select
    Loop
    ReadNamedObject = True
'----------------------------------------------------
Exit Function
ErrorHandler:
    Debug.Assert 0
    Exit Function
    Resume Next
End Function

'----------------------------------------------------
' ReadCamera -
'----------------------------------------------------
Public Function ReadCamera(ParentNode As CNode, MyChunk As Chunk3DS) As Boolean
Dim Chunk As Chunk3DS, ChunkStart&
Dim i&, r&, MyChunkStart&, MyChunkEnd&
Dim MyNode As CNode
Dim x!, v!(0 To 2)
Dim Field As CField
On Error GoTo ErrorHandler
    '
    GetSize MyChunkStart, MyChunkEnd, MyChunk
    ' Create a new child node
    Set MyNode = Scene.AddNode(ParentNode, N_CAMERA, NODE_VIEWPOINT)
    '
    If Not Read3Floats(m_Ptr, v) Then Exit Function
    Set Field = MyNode.AddField(N_CAMERA)
    Field.Value = v(0) & "," & v(1) & "," & v(2)
    
    If Not Read3Floats(m_Ptr, v) Then Exit Function
    Set Field = MyNode.AddField(N_CAMERA)
    Field.Value = v(0) & "," & v(1) & "," & v(2)
    '
    If Not ReadFloat(m_Ptr, x) Then GoTo ErrorHandler
    Set Field = MyNode.AddField(N_CAMERA)
    Field.Value = x
    
    If Not ReadFloat(m_Ptr, x) Then GoTo ErrorHandler
    Set Field = MyNode.AddField(N_CAMERA)
    Field.Value = x
    '
    Do While m_Ptr < MyChunkEnd
        ChunkStart = m_Ptr
        If Not ReadChunkHeader(Chunk) Then GoTo ErrorHandler
        Select Case Chunk.ID
'        Case CAM_RANGES:
'            If Not ReadFloat(m_Ptr, x) Then GoTo ErrorHandler
'            MyNode.NearFXRadius = x
'            If Not ReadFloat(m_Ptr, x) Then GoTo ErrorHandler
'            MyNode.FarFXRadius = x
        'skipped
        Case CAM_RANGES, CAM_SEE_CONE:
            If Not SkipChunk(MyNode, Chunk) Then GoTo ErrorHandler
        Case Else:
            Debug.Assert 0
            If Not SkipChunk(MyNode, Chunk) Then GoTo ErrorHandler
        End Select
    Loop
    '
    ReadCamera = True
'----------------------------------------------------
Exit Function
ErrorHandler:
    Debug.Assert 0
    Exit Function
    Resume Next
End Function

'----------------------------------------------------
' ReadDLight - this reads and sets the values on a glLight. It overwrites
'light 8 if more than 8 lights are defined
'----------------------------------------------------
Public Function ReadDLight(ParentNode As CNode, MyChunk As Chunk3DS) As Boolean
Dim Chunk As Chunk3DS, ChunkStart&
Dim i&, Str$, r&, MyChunkStart&, MyChunkEnd&
Dim MyNode As CNode
Dim Field As CField
Dim Light As glxLight
Dim x!, v!(0 To 2)
Dim SpotChunkEnd&
On Error GoTo ErrorHandler
    '
    GetSize MyChunkStart, MyChunkEnd, MyChunk
    ' Create a new child node
    Set MyNode = Scene.AddNode(ParentNode, N_DIRECT_LIGHT, NODE_DIRECTIONALLIGHT)
    'if it has more than 8 lights, just overwrite
    'the data on the eighth light
    Set Light = gCtl.Lights(liLight0 + NextLight)
    Set Field = MyNode.AddField(N_DIRECT_LIGHT)
    Field.Value = NextLight
    '
    If Not Read3Floats(m_Ptr, v) Then Exit Function
    Light.SetPosition v(0), v(1), v(2)
    If Not ReadColor(MyNode, v(0), v(1), v(2)) Then Exit Function
    Set Field = MyNode.AddField(N_DIRECT_LIGHT)
    Field.Value = NextLight
    '
    Light.SetDiffuse v(0), v(1), v(2)
    Do While m_Ptr < MyChunkEnd
        ChunkStart = m_Ptr
        If Not ReadChunkHeader(Chunk) Then GoTo ErrorHandler
        Select Case Chunk.ID
        Case DL_OFF:

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品精品国产高清一毛片一天堂| 亚洲精品中文字幕在线观看| 中文字幕亚洲一区二区av在线 | 蜜桃一区二区三区四区| 国产91在线观看丝袜| 欧美精品久久99| 国产日韩欧美麻豆| 免费成人性网站| 欧美午夜宅男影院| 国产精品久久久久毛片软件| 韩国女主播一区| 日韩欧美久久一区| 视频在线观看91| 欧美亚洲国产一区在线观看网站| 中文字幕精品三区| 国产精品系列在线观看| 精品人伦一区二区色婷婷| 亚洲成人动漫一区| 欧美日韩一级视频| 一区二区三区在线不卡| av在线不卡电影| 日本一区二区三区四区| 国产精品白丝av| 久久亚洲捆绑美女| 国产一区二区在线视频| 日韩你懂的在线观看| 亚洲h精品动漫在线观看| 在线精品视频一区二区| 一二三区精品福利视频| 色哟哟一区二区在线观看| 国产精品成人网| 91年精品国产| 夜夜亚洲天天久久| 欧美人牲a欧美精品| 石原莉奈一区二区三区在线观看| 欧美日产在线观看| 日本不卡视频在线| 欧美精品一区二区蜜臀亚洲| 日本中文字幕一区| 日韩亚洲国产中文字幕欧美| 麻豆精品国产91久久久久久| 精品国产麻豆免费人成网站| 粉嫩av一区二区三区粉嫩| 国产精品久久免费看| 91美女精品福利| 亚洲va中文字幕| 欧美一区二区三区免费在线看| 麻豆精品国产91久久久久久| 国产欧美日本一区视频| 99精品久久只有精品| 一区二区国产视频| 日韩写真欧美这视频| 高清日韩电视剧大全免费| 国产精品国产三级国产a| 欧美私人免费视频| 国内欧美视频一区二区 | 91精品国产入口在线| 免费一级片91| 国产精品三级视频| 欧美亚洲国产怡红院影院| 免费观看一级特黄欧美大片| 久久精品在线观看| 欧美日韩国产影片| 国产一区在线观看视频| 亚洲色图都市小说| 日韩欧美亚洲一区二区| 99热这里都是精品| 日韩电影免费一区| 国产精品盗摄一区二区三区| 91精品国产色综合久久不卡电影| 从欧美一区二区三区| 丝袜美腿亚洲综合| 亚洲欧美在线aaa| 欧美成人在线直播| 91免费视频观看| 狠狠色伊人亚洲综合成人| 亚洲视频一区在线| 日韩免费看的电影| 在线精品视频免费观看| 国产aⅴ精品一区二区三区色成熟| 一区二区三区国产精品| 亚洲国产精品v| 欧美大白屁股肥臀xxxxxx| 在线观看一区二区视频| 成人国产亚洲欧美成人综合网| 日本女优在线视频一区二区| 一区二区三区精品在线观看| 欧美韩日一区二区三区四区| 日韩免费视频线观看| 欧美日韩午夜在线| 91玉足脚交白嫩脚丫在线播放| 老司机免费视频一区二区三区| 一区二区三区鲁丝不卡| 国产精品久久久久影院老司| 精品国产电影一区二区| 日韩一区二区三区在线视频| 欧美日韩国产免费一区二区| 色婷婷亚洲综合| 成人高清免费在线播放| 豆国产96在线|亚洲| 国产一区二区在线观看视频| 精品中文字幕一区二区小辣椒| 日韩av一级电影| 日韩福利电影在线| 日韩在线卡一卡二| 日韩1区2区3区| 日韩在线一二三区| 日韩vs国产vs欧美| 蜜臀va亚洲va欧美va天堂| 亚洲大片在线观看| 午夜精品爽啪视频| 五月开心婷婷久久| 亚洲不卡av一区二区三区| 午夜视频在线观看一区二区| 亚洲国产另类精品专区| 亚洲成人免费影院| 日本不卡视频在线| 久久99久久久久| 韩国一区二区三区| 成人一道本在线| av不卡在线观看| 欧美在线啊v一区| 欧美一区二区三区免费在线看| 欧美一区二区三区婷婷月色| 日韩三级在线免费观看| 欧美成人精精品一区二区频| 久久久精品tv| 亚洲欧美在线观看| 亚洲国产成人av| 韩国v欧美v日本v亚洲v| 成人一级黄色片| 在线视频一区二区免费| 91精品久久久久久久久99蜜臂 | 欧美婷婷六月丁香综合色| 欧美性极品少妇| 91精品国产综合久久福利| 久久综合色一综合色88| 17c精品麻豆一区二区免费| 一区二区欧美国产| 久久精品国产**网站演员| 大胆欧美人体老妇| 欧美日韩日本视频| 2020国产精品自拍| 亚洲日本电影在线| 日韩av一区二区三区四区| 国产精品123| 欧美影院一区二区三区| 精品国产欧美一区二区| 中文字幕一区二区三区视频| 婷婷夜色潮精品综合在线| 国产在线视频不卡二| 在线亚洲高清视频| 久久久蜜臀国产一区二区| 亚洲狼人国产精品| 国产一区二区三区美女| 在线看不卡av| 国产日产精品1区| 日本免费新一区视频| 91麻豆产精品久久久久久| 久久综合五月天婷婷伊人| 亚洲国产日韩综合久久精品| 国产91富婆露脸刺激对白| 欧美精品三级在线观看| 国产精品乱码人人做人人爱| 日本v片在线高清不卡在线观看| 波多野结衣欧美| 亚洲精品一区二区精华| 婷婷综合五月天| 91麻豆精东视频| 国产日产精品一区| 精品一区二区久久| 欧美精品v国产精品v日韩精品| 国产精品黄色在线观看| 国产精品一区三区| 日韩精品影音先锋| 亚洲一区二区三区小说| 成人h版在线观看| 久久精品亚洲国产奇米99| 日韩成人一级片| 在线亚洲一区二区| 亚洲欧美激情小说另类| 高清免费成人av| 国产日韩v精品一区二区| 蜜臀久久99精品久久久久久9| 在线观看亚洲a| 亚洲精品成人悠悠色影视| 成人午夜激情影院| 国产日本欧洲亚洲| 国产精品99久久久久| 久久亚洲综合色| 国产曰批免费观看久久久| 日韩一区二区在线免费观看| 日韩国产欧美在线播放| 欧美日韩一区 二区 三区 久久精品 | 中文字幕色av一区二区三区| 国产成人av电影在线播放| 国产亚洲午夜高清国产拍精品| 国模一区二区三区白浆| 日韩精品一区国产麻豆| 蜜桃视频第一区免费观看|