190811 c2
- Optimized code layout of changes of last merge request
This commit is contained in:
@@ -3,45 +3,42 @@ Imports Assimp
|
|||||||
Imports Assimp.Unmanaged
|
Imports Assimp.Unmanaged
|
||||||
|
|
||||||
Namespace AssimpModule
|
Namespace AssimpModule
|
||||||
Structure ConversionContext
|
|
||||||
|
Friend Class ConversionContext
|
||||||
|
|
||||||
|
Public Property DaeMdl As Scene
|
||||||
|
Public Property UpAxis As UpAxis
|
||||||
|
Public Property NewMesh As New Mesh
|
||||||
|
Public Property NewObj As New Object3D
|
||||||
|
Public Property ChannelIndicies As New Dictionary(Of Material, Integer)
|
||||||
|
|
||||||
Public Sub New(daeMdlP As Scene, upAxis As UpAxis)
|
Public Sub New(daeMdlP As Scene, upAxis As UpAxis)
|
||||||
daeMdl = daeMdlP
|
DaeMdl = daeMdlP
|
||||||
upAxis = upAxis
|
Me.UpAxis = upAxis
|
||||||
newMesh = New Mesh
|
|
||||||
newObj = New Object3D
|
|
||||||
|
|
||||||
newObj.Meshes.Add(newMesh)
|
NewObj.Meshes.Add(NewMesh)
|
||||||
|
|
||||||
channelIndicies = New Dictionary(Of Material, Integer)
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Dim daeMdl As Scene
|
End Class
|
||||||
Dim UpAxis As UpAxis
|
|
||||||
Dim newMesh As Mesh
|
Friend Class ParsingContext
|
||||||
Dim newObj As Object3D
|
|
||||||
Dim channelIndicies As Dictionary(Of Material, Integer)
|
Public ReadOnly Property ConversionContext As ConversionContext
|
||||||
End Structure
|
Public Property DicVertices As New Dictionary(Of Vector3D, Vertex)
|
||||||
|
Public Property DicNormals As New Dictionary(Of Vector3D, Normal)
|
||||||
|
Public Property DicUVs As New Dictionary(Of Vector3D, UV)
|
||||||
|
Public Property DicVertexColors As New Dictionary(Of Color4D, VertexColor)
|
||||||
|
|
||||||
Structure ParsingContext
|
|
||||||
Public Sub New(ctx As ConversionContext)
|
Public Sub New(ctx As ConversionContext)
|
||||||
cc = ctx
|
ConversionContext = ctx
|
||||||
dicVertices = New Dictionary(Of Vector3D, Vertex)
|
|
||||||
dicNormals = New Dictionary(Of Vector3D, Normal)
|
|
||||||
dicUVs = New Dictionary(Of Vector3D, UV)
|
|
||||||
dicVertexColors = New Dictionary(Of Color4D, VertexColor)
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
ReadOnly cc As ConversionContext
|
End Class
|
||||||
Dim dicVertices As Dictionary(Of Vector3D, Vertex)
|
|
||||||
Dim dicNormals As Dictionary(Of Vector3D, Normal)
|
|
||||||
Dim dicUVs As Dictionary(Of Vector3D, UV)
|
|
||||||
Dim dicVertexColors As Dictionary(Of Color4D, VertexColor)
|
|
||||||
End Structure
|
|
||||||
|
|
||||||
Public Class AssimpLoader
|
Public Class AssimpLoader
|
||||||
|
|
||||||
Public Shared PathToAssimpLib32 As String = "Assimp32.dll"
|
Public Shared Property PathToAssimpLib32 As String = "Assimp32.dll"
|
||||||
Public Shared PathToAssimpLib64 As String = "Assimp64.dll"
|
Public Shared Property PathToAssimpLib64 As String = "Assimp64.dll"
|
||||||
|
|
||||||
Friend Shared Sub LoadAssimpLibs()
|
Friend Shared Sub LoadAssimpLibs()
|
||||||
If Not AssimpLibrary.Instance.IsLibraryLoaded Then
|
If Not AssimpLibrary.Instance.IsLibraryLoaded Then
|
||||||
@@ -51,19 +48,19 @@ Namespace AssimpModule
|
|||||||
|
|
||||||
Private Shared Sub ComputeNewObj(cc As ConversionContext)
|
Private Shared Sub ComputeNewObj(cc As ConversionContext)
|
||||||
Dim identity As Matrix4x4 = Matrix4x4.Identity
|
Dim identity As Matrix4x4 = Matrix4x4.Identity
|
||||||
ComputeNode(cc.daeMdl.RootNode, identity, New ParsingContext(cc))
|
ComputeNode(cc.DaeMdl.RootNode, identity, New ParsingContext(cc))
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
Private Shared Sub ComputeNode(node As Node, trafo As Matrix4x4, ByRef pc As ParsingContext)
|
Private Shared Sub ComputeNode(node As Node, trafo As Matrix4x4, pc As ParsingContext)
|
||||||
Dim newObj = pc.cc.newObj
|
Dim newObj = pc.ConversionContext.NewObj
|
||||||
Dim newMesh = pc.cc.newMesh
|
Dim newMesh = pc.ConversionContext.NewMesh
|
||||||
Dim daeMdl = pc.cc.daeMdl
|
Dim daeMdl = pc.ConversionContext.DaeMdl
|
||||||
Dim channelIndicies = pc.cc.channelIndicies
|
Dim channelIndicies = pc.ConversionContext.ChannelIndicies
|
||||||
Dim UpAxis = pc.cc.UpAxis
|
Dim UpAxis = pc.ConversionContext.UpAxis
|
||||||
Dim dicVertices = pc.dicVertices
|
Dim dicVertices = pc.DicVertices
|
||||||
Dim dicNormals = pc.dicNormals
|
Dim dicNormals = pc.DicNormals
|
||||||
Dim dicUVs = pc.dicUVs
|
Dim dicUVs = pc.DicUVs
|
||||||
Dim dicVertexColors = pc.dicVertexColors
|
Dim dicVertexColors = pc.DicVertexColors
|
||||||
|
|
||||||
trafo = trafo * node.Transform
|
trafo = trafo * node.Transform
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user