├── .gitignore ├── Content ├── EngineMaterial │ ├── BumpMap.MI │ ├── BumpMap.MT │ ├── BumpMap.SF │ ├── BumpMap_Skinned.MI │ ├── BumpMap_Skinned.MT │ ├── BumpMap_Skinned.SF │ ├── ConstantColor.MI │ ├── ConstantColor.MT │ ├── ConstantColor.SF │ ├── DiffuseLighting.MI │ ├── DiffuseLighting.MT │ ├── DiffuseLighting.SF │ ├── DiffuseLighting_Skinned.MI │ ├── DiffuseLighting_Skinned.MT │ ├── DiffuseLighting_Skinned.SF │ ├── EditorMaterial.MT │ ├── PureEmissive.MI │ ├── PureEmissive.MT │ ├── PureEmissive.SF │ ├── SpecularLighting.MI │ ├── SpecularLighting.MT │ ├── SpecularLighting.SF │ ├── SpecularLighting_Skinned.MI │ ├── SpecularLighting_Skinned.MT │ └── SpecularLighting_Skinned.SF ├── EngineModel │ ├── 2dtest │ │ ├── 2dtest.SA │ │ └── 2dtest.SK │ ├── Editor │ │ ├── Axis.SM │ │ ├── AxisBox.SM │ │ ├── Plane.SM │ │ ├── Ring.SM │ │ ├── TriBox.SM │ │ └── Triangle.SM │ ├── Shark │ │ ├── Shark.SA │ │ ├── Shark.SK │ │ └── shark_hurt_heavy.DDS │ ├── SkinTest │ │ ├── SkinTest.SA │ │ └── SkinTest.SK │ └── Teapot │ │ └── Teapot.SM ├── EngineShader │ ├── #Unused │ │ ├── SF_MeshPixelShader.SF │ │ ├── SF_MeshVertexShader.SF │ │ └── SF_SkinnedMeshVertexShader.SF │ ├── ColorBrushPixelShader.SF │ ├── FastElementPixelShader.SF │ ├── FastElementVertexShader.SF │ ├── Material.SF │ ├── MaterialTemplatePixelShader.SF │ ├── MeshPixelShader.SF │ ├── MeshVertexShader.SF │ ├── ModelMaterialVertexShader.SF │ ├── SimpleElementPixelShader.SF │ ├── SimpleElementVertexShader.SF │ ├── SkinnedMeshVertexShader.SF │ └── VertexFactory.SF └── EngineTexture │ ├── Fieldstone.DDS │ ├── FieldstoneBumpDOT3.DDS │ ├── default.DDS │ └── test.DDS ├── Development ├── Assert │ └── Max │ │ └── GizmoAxis.max ├── Build │ ├── Engine.sln │ ├── SDK.sln │ └── Tools.sln ├── Design │ ├── ArchiveSystem.txt │ ├── Debugging.txt │ ├── EngineStuff.txt │ ├── FontSystem.txt │ ├── MaterialSystem.txt │ ├── ModelFileFormat.txt │ ├── ModelSystem.txt │ ├── RTTISystem.txt │ ├── RenderSystem.txt │ ├── StreamSystem.txt │ ├── TODO.txt │ ├── ViewAndRT.txt │ ├── u3_AsyncLoading.txt │ ├── u3_BatchedElement.txt │ ├── u3_Canvas.txt │ ├── u3_FRenderResource.txt │ ├── u3_FVertexFactory.txt │ ├── u3_HitProxy.txt │ ├── u3_Material.txt │ ├── u3_ObjectManagement.txt │ ├── u3_RenderPipeline.txt │ ├── u3_RenderState.txt │ ├── u3_SceneManagement.txt │ ├── u3_Shader.txt │ ├── u3_Texture.txt │ ├── u3_Threading.txt │ ├── u3_UModel.txt │ ├── u3_UModelRender.txt │ ├── u3_ViewportClient.txt │ └── u3_ViewportClient.vsd ├── Engine │ ├── Include │ │ ├── Core │ │ │ ├── Application.h │ │ │ ├── Camera.h │ │ │ ├── CheckSum.h │ │ │ ├── Clipboard.h │ │ │ ├── CmdLineParser.h │ │ │ ├── Color.h │ │ │ ├── Console.h │ │ │ ├── CoreInitializer.h │ │ │ ├── DataConv.h │ │ │ ├── DataConvA.h │ │ │ ├── DataStream.h │ │ │ ├── Delegate2.h │ │ │ ├── Diagnose.h │ │ │ ├── Directory.h │ │ │ ├── DotFile.h │ │ │ ├── DynamicHash.h │ │ │ ├── DynamicLib.h │ │ │ ├── EngineType.h │ │ │ ├── FRect.h │ │ │ ├── File.h │ │ │ ├── FileFinder.h │ │ │ ├── FileStream.h │ │ │ ├── GrowableBuffer.h │ │ │ ├── HeapStream.h │ │ │ ├── IniFile.h │ │ │ ├── Intersection.h │ │ │ ├── KernelObject.h │ │ │ ├── Link.h │ │ │ ├── LinkedList.h │ │ │ ├── Lock.h │ │ │ ├── Log.h │ │ │ ├── MathLib.h │ │ │ ├── Matrix3.h │ │ │ ├── Matrix4.h │ │ │ ├── NameTable.h │ │ │ ├── PackFile.h │ │ │ ├── PackSource.h │ │ │ ├── Path.h │ │ │ ├── Persistence.h │ │ │ ├── Point.h │ │ │ ├── Pool.h │ │ │ ├── Property3.h │ │ │ ├── PropertySerializer.h │ │ │ ├── ProxyStream.h │ │ │ ├── Quaternion.h │ │ │ ├── RTTIObject.h │ │ │ ├── Rect.h │ │ │ ├── RefCounting.h │ │ │ ├── RefStream.h │ │ │ ├── RingBuffer.h │ │ │ ├── Rotator.h │ │ │ ├── Shape.h │ │ │ ├── StackStream.h │ │ │ ├── StaticHash.h │ │ │ ├── StringConv.h │ │ │ ├── StringHelper.h │ │ │ ├── StringHelperA.h │ │ │ ├── SyncObject.h │ │ │ ├── TextFile.h │ │ │ ├── Thread.h │ │ │ ├── TimeSource.h │ │ │ ├── Vector2.h │ │ │ ├── Vector3.h │ │ │ ├── Vector4.h │ │ │ ├── Viewport.h │ │ │ ├── Win32Header.h │ │ │ ├── WinControl.h │ │ │ ├── WinDesktop.h │ │ │ ├── WinFileDialog.h │ │ │ └── WinForm.h │ │ ├── Engine │ │ │ ├── Actor.h │ │ │ ├── ActorComponent.h │ │ │ ├── ActorFactory.h │ │ │ ├── ActorFamily.h │ │ │ ├── Animation.h │ │ │ ├── AnimationResource.h │ │ │ ├── AsyncTaskThread.h │ │ │ ├── BatchedElement.h │ │ │ ├── CameraActor.h │ │ │ ├── CameraController.h │ │ │ ├── Canvas.h │ │ │ ├── EngineCommon.h │ │ │ ├── EngineInitializer.h │ │ │ ├── FileVersion.h │ │ │ ├── GameEngine.h │ │ │ ├── GameWorld.h │ │ │ ├── GlobalShaderFactory.h │ │ │ ├── HitProxy.h │ │ │ ├── ManagedObject.h │ │ │ ├── MaterialCompiler.h │ │ │ ├── MaterialDefine.h │ │ │ ├── MaterialDescriptor.h │ │ │ ├── MaterialGen.h │ │ │ ├── MaterialInstance.h │ │ │ ├── MaterialNode.h │ │ │ ├── MaterialParameter.h │ │ │ ├── MaterialShader.h │ │ │ ├── MaterialShaderFactory.h │ │ │ ├── MaterialSlot.h │ │ │ ├── MeshComponent.h │ │ │ ├── MeshResource.h │ │ │ ├── MessageInputDriver.h │ │ │ ├── ModelMaterialShader.h │ │ │ ├── MovableObject.h │ │ │ ├── PresentWindow.h │ │ │ ├── RHI.h │ │ │ ├── RenderFont.h │ │ │ ├── RenderQueue.h │ │ │ ├── RenderResource.h │ │ │ ├── RenderState.h │ │ │ ├── RenderStateWrapper.h │ │ │ ├── RenderTarget.h │ │ │ ├── RenderTexture.h │ │ │ ├── RenderThread.h │ │ │ ├── RenderUtility.h │ │ │ ├── ResourceLocation.h │ │ │ ├── Scene.h │ │ │ ├── SceneView.h │ │ │ ├── ShaderCompiler.h │ │ │ ├── ShaderMaster.h │ │ │ ├── Skeleton.h │ │ │ ├── SkeletonMeshComponent.h │ │ │ ├── SkeletonMeshResource.h │ │ │ ├── StaticMeshComponent.h │ │ │ ├── StaticMeshResource.h │ │ │ ├── TextureResource.h │ │ │ ├── Tickable.h │ │ │ ├── VertexFactory.h │ │ │ ├── VertexFormat.h │ │ │ └── WorldPick.h │ │ ├── NekoCore.h │ │ ├── NekoCore_Basic.h │ │ ├── NekoCore_Math.h │ │ ├── NekoCore_Pack.h │ │ ├── NekoCore_Platform.h │ │ ├── NekoCore_Reflection.h │ │ ├── NekoCore_Stream.h │ │ ├── NekoEngine.h │ │ ├── NekoEngine_Archive.h │ │ ├── NekoEngine_Extend.h │ │ ├── NekoEngine_Material.h │ │ ├── NekoEngine_Model.h │ │ ├── NekoEngine_Render.h │ │ ├── NekoEngine_System.h │ │ ├── NekoFont.h │ │ └── NekoInput.h │ └── Source │ │ ├── Core │ │ ├── Application.cpp │ │ ├── Camera.cpp │ │ ├── CheckSum.cpp │ │ ├── ClassRegister.cpp │ │ ├── Clipboard.cpp │ │ ├── CmdLineParser.cpp │ │ ├── Color.cpp │ │ ├── Console.cpp │ │ ├── Core.vcproj │ │ ├── Core.vcxproj │ │ ├── Core.vcxproj.filters │ │ ├── CoreInitializer.cpp │ │ ├── CorePCH.cpp │ │ ├── CorePCH.h │ │ ├── DataConv.cpp │ │ ├── DataConvA.cpp │ │ ├── DataStream.cpp │ │ ├── Delegate.cpp │ │ ├── Diagnose.cpp │ │ ├── Directory.cpp │ │ ├── DotFile.cpp │ │ ├── DynamicLib.cpp │ │ ├── EnumObject.cpp │ │ ├── FRect.cpp │ │ ├── File.cpp │ │ ├── FileFinder.cpp │ │ ├── FileStream.cpp │ │ ├── HeapStream.cpp │ │ ├── IniFile.cpp │ │ ├── Intersection.cpp │ │ ├── KernelObject.cpp │ │ ├── Lock.cpp │ │ ├── Log.cpp │ │ ├── MathLib.cpp │ │ ├── Matrix3.cpp │ │ ├── Matrix4.cpp │ │ ├── MemoryTracker.cpp │ │ ├── NameTable.cpp │ │ ├── PackFile.cpp │ │ ├── PackSource.cpp │ │ ├── Path.cpp │ │ ├── Persistence.cpp │ │ ├── Point.cpp │ │ ├── Property2.cpp │ │ ├── Property3.cpp │ │ ├── PropertySerializer.cpp │ │ ├── ProxyStream.cpp │ │ ├── Quaternion.cpp │ │ ├── RTTIObject.cpp │ │ ├── Rect.cpp │ │ ├── RefStream.cpp │ │ ├── Rotator.cpp │ │ ├── SettingObject.cpp │ │ ├── Shape.cpp │ │ ├── SimpleLexer.cpp │ │ ├── StackStream.cpp │ │ ├── StringConv.cpp │ │ ├── StringHelper.cpp │ │ ├── StringHelperA.cpp │ │ ├── SyncObject.cpp │ │ ├── TextFile.cpp │ │ ├── Thread.cpp │ │ ├── TimeSource.cpp │ │ ├── Vector2.cpp │ │ ├── Vector3.cpp │ │ ├── Vector4.cpp │ │ ├── Viewport.cpp │ │ ├── WinControl.cpp │ │ ├── WinDesktop.cpp │ │ ├── WinFileDialog.cpp │ │ └── WinForm.cpp │ │ ├── D3D9Render │ │ ├── D3D9Buffer.cpp │ │ ├── D3D9Commands.cpp │ │ ├── D3D9DDSCodec.cpp │ │ ├── D3D9DDSCodec.h │ │ ├── D3D9Device.cpp │ │ ├── D3D9Device.h │ │ ├── D3D9PCH.cpp │ │ ├── D3D9PCH.h │ │ ├── D3D9Private.h │ │ ├── D3D9Render.vcproj │ │ ├── D3D9Render.vcxproj │ │ ├── D3D9Render.vcxproj.filters │ │ ├── D3D9Resource.h │ │ ├── D3D9Shader.cpp │ │ ├── D3D9Shader.h │ │ ├── D3D9ShaderCompiler.cpp │ │ ├── D3D9State.cpp │ │ ├── D3D9State.h │ │ ├── D3D9Texture.cpp │ │ ├── D3D9Utility.h │ │ ├── D3D9VertexFormat.cpp │ │ ├── D3D9VertexFormat.h │ │ ├── D3D9Viewport.cpp │ │ ├── D3D9Viewport.h │ │ └── PCH_Driver.h │ │ ├── DInput │ │ ├── DInput.cpp │ │ ├── DInput.h │ │ ├── DInput.vcproj │ │ ├── DInputPCH.cpp │ │ └── DInputPCH.h │ │ ├── Engine │ │ ├── Actor.cpp │ │ ├── ActorComponent.cpp │ │ ├── ActorFactory.cpp │ │ ├── ActorFamily.cpp │ │ ├── Animation.cpp │ │ ├── AnimationMixer.cpp │ │ ├── AnimationResource.cpp │ │ ├── AsyncTaskThread.cpp │ │ ├── BatchedElement.cpp │ │ ├── CameraActor.cpp │ │ ├── CameraController.cpp │ │ ├── Canvas.cpp │ │ ├── Engine.vcproj │ │ ├── Engine.vcxproj │ │ ├── Engine.vcxproj.filters │ │ ├── EngineCommon.cpp │ │ ├── EngineInitializer.cpp │ │ ├── EnginePCH.cpp │ │ ├── EnginePCH.h │ │ ├── GameEngine.cpp │ │ ├── GameWorld.cpp │ │ ├── GlobalShaderFactory.cpp │ │ ├── HitProxy.cpp │ │ ├── ManagedObject.cpp │ │ ├── MaterialCompiler.cpp │ │ ├── MaterialDescriptor.cpp │ │ ├── MaterialGen.cpp │ │ ├── MaterialInstance.cpp │ │ ├── MaterialNode.cpp │ │ ├── MaterialParameter.cpp │ │ ├── MaterialShader.cpp │ │ ├── MaterialShaderFactory.cpp │ │ ├── MaterialSlot.cpp │ │ ├── MeshComponent.cpp │ │ ├── MeshResource.cpp │ │ ├── MessageInputDriver.cpp │ │ ├── ModelMaterialShader.cpp │ │ ├── MovableObject.cpp │ │ ├── NeTexture.cpp │ │ ├── PresentWindow.cpp │ │ ├── RHI.cpp │ │ ├── RenderFont.cpp │ │ ├── RenderQueue.cpp │ │ ├── RenderResource.cpp │ │ ├── RenderState.cpp │ │ ├── RenderTarget.cpp │ │ ├── RenderTexture.cpp │ │ ├── RenderThread.cpp │ │ ├── RenderUtility.cpp │ │ ├── ResourceLocation.cpp │ │ ├── Scene.cpp │ │ ├── SceneView.cpp │ │ ├── ShaderCompiler.cpp │ │ ├── ShaderMaster.cpp │ │ ├── Skeleton.cpp │ │ ├── SkeletonMeshComponent.cpp │ │ ├── SkeletonMeshResource.cpp │ │ ├── StaticMeshComponent.cpp │ │ ├── StaticMeshResource.cpp │ │ ├── TextureResource.cpp │ │ ├── Tickable.cpp │ │ ├── VertexFactory.cpp │ │ ├── VertexFormat.cpp │ │ └── WorldPick.cpp │ │ ├── FTFont │ │ ├── FontDriver.cpp │ │ ├── FontDriver.h │ │ ├── FontDrv.vcproj │ │ ├── FontDrvPCH.cpp │ │ ├── FontDrvPCH.h │ │ ├── FontFace.cpp │ │ ├── FontFace.h │ │ ├── FontFiles.h │ │ ├── FontGlyph.cpp │ │ ├── FontGlyph.h │ │ ├── FontObject.cpp │ │ └── FontObject.h │ │ └── Wrapper │ │ ├── PrivateInclude.h │ │ ├── WActor.cpp │ │ ├── WActor.h │ │ ├── WGameEngine.cpp │ │ ├── WGameEngine.h │ │ ├── WUtility.cpp │ │ ├── WUtility.h │ │ ├── Wrapper.aps │ │ ├── Wrapper.vcproj │ │ ├── WrapperPCH.cpp │ │ └── WrapperPCH.h ├── Samples │ ├── NekoDemo │ │ ├── DebugFrame.cpp │ │ ├── DebugFrame.h │ │ ├── DemoLauncher.aps │ │ ├── DemoLauncher.rc │ │ ├── DemoLauncher.vcproj │ │ ├── DemoLauncher.vcxproj │ │ ├── DemoLauncher.vcxproj.filters │ │ ├── DemoMain.cpp │ │ ├── Demo_Canvas.cpp │ │ ├── Demo_Canvas.h │ │ ├── Demo_CubeMap.cpp │ │ ├── Demo_CubeMap.h │ │ ├── Demo_Font.cpp │ │ ├── Demo_Font.h │ │ ├── Demo_Material.cpp │ │ ├── Demo_Material.h │ │ ├── Demo_Model.cpp │ │ ├── Demo_Model.h │ │ ├── Demo_Persistence.cpp │ │ ├── Demo_Persistence.h │ │ ├── Demo_Pick.cpp │ │ ├── Demo_Pick.h │ │ ├── Demo_PostEffect.cpp │ │ ├── Demo_PostEffect.h │ │ ├── Demo_Primitive2D.cpp │ │ ├── Demo_Primitive2D.h │ │ ├── Demo_RenderTarget.cpp │ │ ├── Demo_RenderTarget.h │ │ ├── Demo_Tangent.cpp │ │ ├── Demo_Tangent.h │ │ ├── Demo_Transform.cpp │ │ ├── Demo_Transform.h │ │ ├── EngineDemoPCH.cpp │ │ ├── EngineDemoPCH.h │ │ ├── PCH_Scene.h │ │ ├── neko.ico │ │ └── resource.h │ └── UnitTestCore │ │ ├── PropertyTest.cpp │ │ ├── PropertyTest.cpp.orig │ │ ├── UnitTestCore.vcproj │ │ ├── UnitTestCoreMain.cpp │ │ ├── UnitTestCorePCH.cpp │ │ └── UnitTestCorePCH.h └── Tools │ ├── Editor │ ├── AssertViewer.Designer.cs │ ├── AssertViewer.cs │ ├── AssertViewer.resx │ ├── Editor.csproj │ ├── Hierarchy.Designer.cs │ ├── Hierarchy.cs │ ├── Hierarchy.resx │ ├── MainFrame.Designer.cs │ ├── MainFrame.cs │ ├── MainFrame.resx │ ├── PreviewWindow.Designer.cs │ ├── PreviewWindow.cs │ ├── PreviewWindow.resx │ ├── Program.cs │ ├── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ └── Settings.settings │ ├── PropertyWindow.Designer.cs │ ├── PropertyWindow.cs │ ├── PropertyWindow.resx │ ├── ViewWindow.Designer.cs │ ├── ViewWindow.cs │ ├── ViewWindow.resx │ └── WeifenLuo.WinFormsUI.Docking.dll │ ├── EditorCore │ ├── EditorCore.vcproj │ ├── EditorCoreInclude.h │ ├── EditorCorePCH.cpp │ ├── EditorCorePCH.h │ └── EditorCorePrivateInclude.h │ ├── EditorQt │ ├── CommandManager.cpp │ ├── CommandManager.h │ ├── EditorActor.cpp │ ├── EditorActor.h │ ├── EditorDefines.h │ ├── EditorFrame.ui │ ├── EditorObject.cpp │ ├── EditorObject.h │ ├── EditorPCH.cpp │ ├── EditorPCH.h │ ├── EditorQt.vcproj │ ├── EditorQt.vcxproj │ ├── EditorQt.vcxproj.filters │ ├── GeneratedFiles │ │ ├── Debug │ │ │ ├── moc_QEditorFrame.cpp │ │ │ ├── moc_QExtendProperty.cpp │ │ │ ├── moc_QHierarchyPanel.cpp │ │ │ ├── moc_QHierarchyView.cpp │ │ │ ├── moc_QMaterialPanel.cpp │ │ │ ├── moc_QMaterialScene.cpp │ │ │ ├── moc_QMaterialView.cpp │ │ │ ├── moc_QPreviewPanel.cpp │ │ │ ├── moc_QProjectPanel.cpp │ │ │ ├── moc_QProjectView.cpp │ │ │ ├── moc_QPropertyGrid.cpp │ │ │ ├── moc_QRenderPanel.cpp │ │ │ ├── moc_QRenderWidget.cpp │ │ │ └── moc_QScenePanel.cpp │ │ ├── Release │ │ │ ├── moc_QEditorFrame.cpp │ │ │ ├── moc_QExtendProperty.cpp │ │ │ ├── moc_QHierarchyPanel.cpp │ │ │ ├── moc_QMaterialPanel.cpp │ │ │ ├── moc_QMaterialScene.cpp │ │ │ ├── moc_QPreviewPanel.cpp │ │ │ ├── moc_QProjectPanel.cpp │ │ │ ├── moc_QPropertyGrid.cpp │ │ │ ├── moc_QRenderPanel.cpp │ │ │ ├── moc_QRenderWidget.cpp │ │ │ └── moc_QScenePanel.cpp │ │ ├── qrc_editorqt.cpp │ │ ├── ui_EditorFrame.h │ │ ├── ui_HierarchyPanel.h │ │ ├── ui_HierarchyView.h │ │ ├── ui_MaterialPanel.h │ │ ├── ui_MaterialView.h │ │ ├── ui_ProjectPanel.h │ │ └── ui_ProjectView.h │ ├── Gizmo.cpp │ ├── Gizmo.h │ ├── HierarchyPanel.ui │ ├── MaterialPanel.ui │ ├── ObjectModifier.cpp │ ├── ObjectModifier.h │ ├── PrivateInclude.h │ ├── ProjectPanel.ui │ ├── QCmdObject.cpp │ ├── QCmdObject.h │ ├── QEditorFrame.cpp │ ├── QEditorFrame.h │ ├── QExtendProperty.cpp │ ├── QExtendProperty.h │ ├── QHierarchyPanel.cpp │ ├── QHierarchyPanel.h │ ├── QMaterialElement.cpp │ ├── QMaterialElement.h │ ├── QMaterialPanel.cpp │ ├── QMaterialPanel.h │ ├── QMaterialScene.cpp │ ├── QMaterialScene.h │ ├── QPreviewPanel.cpp │ ├── QPreviewPanel.h │ ├── QProjectPanel.cpp │ ├── QProjectPanel.h │ ├── QPropertyGrid.cpp │ ├── QPropertyGrid.h │ ├── QRenderPanel.cpp │ ├── QRenderPanel.h │ ├── QScenePanel.cpp │ ├── QScenePanel.h │ ├── QTypeMapper.cpp │ ├── QTypeMapper.h │ ├── ReflectionObject.h │ ├── editorqt.qrc │ └── main.cpp │ ├── FrameAnimationBuilder │ ├── FrameAnimationBuilder.Designer.cs │ ├── FrameAnimationBuilder.cs │ ├── FrameAnimationBuilder.csproj │ ├── FrameAnimationBuilder.resx │ ├── Program.cs │ └── Properties │ │ ├── AssemblyInfo.cs │ │ ├── Resources.Designer.cs │ │ ├── Resources.resx │ │ ├── Settings.Designer.cs │ │ ├── Settings.settings │ │ └── app.manifest │ ├── NExportor │ ├── ExportPCH.cpp │ ├── ExportPCH.h │ ├── MainForm.cpp │ ├── MainForm.h │ ├── MainForm.resx │ ├── MaxCollector.cpp │ ├── MaxCollector.h │ ├── MaxDialogExport.cpp │ ├── MaxDialogExport.h │ ├── MaxExporter.cpp │ ├── MaxExporter.h │ ├── MaxMarker.cpp │ ├── MaxMarker.h │ ├── MaxMaterial.cpp │ ├── MaxMaterial.h │ ├── MaxMesh.cpp │ ├── MaxMesh.h │ ├── MaxModel.cpp │ ├── MaxModel.h │ ├── MaxNode.cpp │ ├── MaxNode.h │ ├── MaxNullRHI.cpp │ ├── MaxSkeleton.cpp │ ├── MaxSkeleton.h │ ├── MaxSkeletonAnimation.cpp │ ├── MaxSkeletonAnimation.h │ ├── NExporter.aps │ ├── NExporter.rc │ ├── NExporter.vcproj │ ├── NExporter.vcxproj │ ├── NExporter.vcxproj.filters │ ├── PluginInclude.h │ └── resource.h │ └── PackMan │ ├── PackMain.cpp │ └── PackMan.vcproj ├── Engine.lnk ├── LICENSE ├── README.md └── TestAssert ├── 2dtest.max ├── GPUClassifications.txt ├── GizmoAxis.max ├── SkinTest.max ├── default.png ├── nekoicon.psd ├── shark.max ├── shark.tga ├── shark_hurt.tga ├── shark_hurt_heavy.tga ├── teapot.max └── test.bmp /.gitignore: -------------------------------------------------------------------------------- 1 | ipch/ 2 | *.suo 3 | *.sdf 4 | Obj/ 5 | -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstanceEngineMaterial.BumpMap.MTMaterialParameterTextureSamplerBaseMapEngineTexture.Fieldstone.DDSMaterialParameterTextureSampler NormalMap$EngineTexture.FieldstoneBumpDOT3.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/BumpMap.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/BumpMap.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap_Skinned.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstance!EngineMaterial.BumpMap_Skinned.MTMaterialParameterTextureSamplerBaseMapEngineTexture.Fieldstone.DDSMaterialParameterTextureSampler NormalMap$EngineTexture.FieldstoneBumpDOT3.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap_Skinned.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/BumpMap_Skinned.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/BumpMap_Skinned.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/BumpMap_Skinned.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/ConstantColor.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstanceEngineMaterial.ConstantColor.MTMaterialParameterVectorColor -------------------------------------------------------------------------------- /Content/EngineMaterial/ConstantColor.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/ConstantColor.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/ConstantColor.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/ConstantColor.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstance!EngineMaterial.DiffuseLighting.MTMaterialParameterTextureSamplerDiffuseTextureEngineTexture.test.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/DiffuseLighting.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/DiffuseLighting.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting_Skinned.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstance)EngineMaterial.DiffuseLighting_Skinned.MTMaterialParameterTextureSamplerDiffuseTextureEngineTexture.test.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting_Skinned.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/DiffuseLighting_Skinned.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/DiffuseLighting_Skinned.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/DiffuseLighting_Skinned.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/EditorMaterial.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/EditorMaterial.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/PureEmissive.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstanceEngineMaterial.PureEmissive.MTMaterialParameterTextureSamplerDiffuseTextureEngineTexture.test.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/PureEmissive.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/PureEmissive.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/PureEmissive.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/PureEmissive.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstance"EngineMaterial.SpecularLighting.MTMaterialParameterTextureSampler -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/SpecularLighting.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/SpecularLighting.SF -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting_Skinned.MI: -------------------------------------------------------------------------------- 1 | NEPFMaterialInstance*EngineMaterial.SpecularLighting_Skinned.MTMaterialParameterTextureSampler&EngineModel.Shark.shark_hurt_heavy.DDS&EngineModel.Shark.shark_hurt_heavy.DDS -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting_Skinned.MT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/SpecularLighting_Skinned.MT -------------------------------------------------------------------------------- /Content/EngineMaterial/SpecularLighting_Skinned.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineMaterial/SpecularLighting_Skinned.SF -------------------------------------------------------------------------------- /Content/EngineModel/2dtest/2dtest.SA: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/2dtest/2dtest.SA -------------------------------------------------------------------------------- /Content/EngineModel/2dtest/2dtest.SK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/2dtest/2dtest.SK -------------------------------------------------------------------------------- /Content/EngineModel/Editor/Axis.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/Axis.SM -------------------------------------------------------------------------------- /Content/EngineModel/Editor/AxisBox.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/AxisBox.SM -------------------------------------------------------------------------------- /Content/EngineModel/Editor/Plane.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/Plane.SM -------------------------------------------------------------------------------- /Content/EngineModel/Editor/Ring.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/Ring.SM -------------------------------------------------------------------------------- /Content/EngineModel/Editor/TriBox.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/TriBox.SM -------------------------------------------------------------------------------- /Content/EngineModel/Editor/Triangle.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Editor/Triangle.SM -------------------------------------------------------------------------------- /Content/EngineModel/Shark/Shark.SA: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Shark/Shark.SA -------------------------------------------------------------------------------- /Content/EngineModel/Shark/Shark.SK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Shark/Shark.SK -------------------------------------------------------------------------------- /Content/EngineModel/Shark/shark_hurt_heavy.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Shark/shark_hurt_heavy.DDS -------------------------------------------------------------------------------- /Content/EngineModel/SkinTest/SkinTest.SA: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/SkinTest/SkinTest.SA -------------------------------------------------------------------------------- /Content/EngineModel/SkinTest/SkinTest.SK: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/SkinTest/SkinTest.SK -------------------------------------------------------------------------------- /Content/EngineModel/Teapot/Teapot.SM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineModel/Teapot/Teapot.SM -------------------------------------------------------------------------------- /Content/EngineShader/#Unused/SF_MeshPixelShader.SF: -------------------------------------------------------------------------------- 1 | 2 | sampler2D Texture; 3 | 4 | 5 | void Main( 6 | in float2 TextureCoordinate : TEXCOORD0, 7 | //in float4 InNormal : COLOR0, 8 | out float4 OutColor : COLOR 9 | ) 10 | { 11 | OutColor = tex2D(Texture,TextureCoordinate); 12 | //OutColor = InNormal; 13 | } 14 | -------------------------------------------------------------------------------- /Content/EngineShader/#Unused/SF_MeshVertexShader.SF: -------------------------------------------------------------------------------- 1 | 2 | float4x4 Transform; 3 | 4 | void Main( 5 | in float4 InPosition : POSITION, 6 | in float2 InTexCoord : TEXCOORD0, 7 | in float3 InNormal : NORMAL, 8 | out float4 OutPosition : POSITION, 9 | out float2 OutTexCoord : TEXCOORD0 10 | //out float4 OutNormal : COLOR0 11 | ) 12 | { 13 | OutPosition = mul(InPosition, Transform ); 14 | OutTexCoord = InTexCoord; 15 | //OutNormal = float4( InNormal.xyz, 1.0f); 16 | } 17 | -------------------------------------------------------------------------------- /Content/EngineShader/#Unused/SF_SkinnedMeshVertexShader.SF: -------------------------------------------------------------------------------- 1 | 2 | // SM 2.0 max 256 constant 3 | // Old Methed 1 bone = 4 constant total pure 64 bones , safe 50 bones 4 | // New Methed 1 bone = 2 constant total pure 128 bones , safe 100 bones 5 | 6 | float4x4 BoneLocalTransform[50]; 7 | 8 | 9 | float4x4 WorldViewProjectionTransform; 10 | 11 | void Main( 12 | in float4 InPosition : POSITION, 13 | in float2 InTexCoord : TEXCOORD0, 14 | in float4 BoneWeights : BLENDWEIGHT0, 15 | in float4 BoneIndices : BLENDINDICES0, 16 | out float4 OutPosition : POSITION, 17 | out float2 OutTexCoord : TEXCOORD0 18 | ) 19 | { 20 | float4x4 SkinTransform = 0; 21 | 22 | SkinTransform += BoneLocalTransform[BoneIndices.x] * BoneWeights.x; 23 | SkinTransform += BoneLocalTransform[BoneIndices.y] * BoneWeights.y; 24 | SkinTransform += BoneLocalTransform[BoneIndices.z] * BoneWeights.z; 25 | SkinTransform += BoneLocalTransform[BoneIndices.w] * BoneWeights.w; 26 | float4 LocalPos = mul(InPosition, SkinTransform); 27 | 28 | 29 | 30 | OutPosition = mul(LocalPos, WorldViewProjectionTransform ); 31 | OutTexCoord = InTexCoord; 32 | } 33 | -------------------------------------------------------------------------------- /Content/EngineShader/ColorBrushPixelShader.SF: -------------------------------------------------------------------------------- 1 | 2 | float4 FillColor; 3 | 4 | void Main( out float4 OutColor : COLOR0 ) 5 | { 6 | OutColor = FillColor; 7 | } 8 | -------------------------------------------------------------------------------- /Content/EngineShader/FastElementPixelShader.SF: -------------------------------------------------------------------------------- 1 | 2 | sampler2D Texture; 3 | 4 | #define RETURN_COLOR( Color ) ( Color ) 5 | 6 | void Main( 7 | in float2 TextureCoordinate : TEXCOORD1, 8 | in float4 Color : COLOR, 9 | out float4 OutColor : COLOR0 10 | ) 11 | { 12 | OutColor = tex2D(Texture,TextureCoordinate) * Color; 13 | //OutColor = Color; 14 | } 15 | -------------------------------------------------------------------------------- /Content/EngineShader/FastElementVertexShader.SF: -------------------------------------------------------------------------------- 1 | #define VERTEX_COUNT 80 2 | 3 | float4 PositionBuffer[VERTEX_COUNT]; 4 | float2 UVBuffer[VERTEX_COUNT]; 5 | float4 ColorBuffer[VERTEX_COUNT]; 6 | 7 | float4x4 Transform; 8 | 9 | void Main( 10 | in float InIndex : TEXCOORD0, 11 | out float4 OutPosition : POSITION, 12 | out float2 OutTexCoord : TEXCOORD1, 13 | out float4 OutColor : COLOR0 14 | ) 15 | { 16 | OutPosition = mul( PositionBuffer[ InIndex ] , Transform ); 17 | OutColor = ColorBuffer[ InIndex ]; 18 | OutTexCoord = UVBuffer[ InIndex ]; 19 | } 20 | -------------------------------------------------------------------------------- /Content/EngineShader/Material.SF: -------------------------------------------------------------------------------- 1 | 2 | struct MaterialParameters 3 | { 4 | float2 TexCoords; 5 | float3 VertexNormal; 6 | float3 TangentNormal; 7 | float3 TangentReflectionVector; 8 | float3 TangentCameraVector; 9 | float3 TangentLightVector; 10 | }; 11 | 12 | 13 | float3 PointLightPhong(float3 InAmbientColor, float3 InDiffuseColor,float3 SpecularColor,float InSpecularPower, float3 L, float3 E, float3 N, float3 R) 14 | { 15 | float3 DiffuseLighting = saturate(dot(N,L)), 16 | SpecularLighting = pow(saturate(dot(R,E)),max(InSpecularPower,0.0001)); 17 | 18 | return InAmbientColor + InDiffuseColor * DiffuseLighting + SpecularLighting * SpecularColor; 19 | } 20 | 21 | 22 | -------------------------------------------------------------------------------- /Content/EngineShader/MaterialTemplatePixelShader.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineShader/MaterialTemplatePixelShader.SF -------------------------------------------------------------------------------- /Content/EngineShader/MeshPixelShader.SF: -------------------------------------------------------------------------------- 1 | 2 | sampler2D Texture; 3 | 4 | 5 | void Main( 6 | in float2 TextureCoordinate : TEXCOORD0, 7 | //in float4 InNormal : COLOR0, 8 | out float4 OutColor : COLOR 9 | ) 10 | { 11 | OutColor = tex2D(Texture,TextureCoordinate); 12 | //OutColor = InNormal; 13 | } 14 | -------------------------------------------------------------------------------- /Content/EngineShader/MeshVertexShader.SF: -------------------------------------------------------------------------------- 1 | 2 | float4x4 Transform; 3 | 4 | void Main( 5 | in float4 InPosition : POSITION, 6 | in float2 InTexCoord : TEXCOORD0, 7 | in float3 InNormal : NORMAL, 8 | out float4 OutPosition : POSITION, 9 | out float2 OutTexCoord : TEXCOORD0 10 | //out float4 OutNormal : COLOR0 11 | ) 12 | { 13 | OutPosition = mul(InPosition, Transform ); 14 | OutTexCoord = InTexCoord; 15 | //OutNormal = float4( InNormal.xyz, 1.0f); 16 | } 17 | -------------------------------------------------------------------------------- /Content/EngineShader/ModelMaterialVertexShader.SF: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineShader/ModelMaterialVertexShader.SF -------------------------------------------------------------------------------- /Content/EngineShader/SimpleElementPixelShader.SF: -------------------------------------------------------------------------------- 1 | 2 | sampler2D Texture; 3 | 4 | #define RETURN_COLOR( Color ) ( Color ) 5 | 6 | void Main( 7 | in float2 TextureCoordinate : TEXCOORD0, 8 | in float4 Color : COLOR, 9 | out float4 OutColor : COLOR0 10 | ) 11 | { 12 | OutColor = tex2D(Texture,TextureCoordinate) * Color; 13 | //OutColor = float4(1,1,1,1); 14 | } 15 | -------------------------------------------------------------------------------- /Content/EngineShader/SimpleElementVertexShader.SF: -------------------------------------------------------------------------------- 1 | 2 | float4x4 Transform; 3 | 4 | void Main( 5 | in float4 InPosition : POSITION, 6 | in float2 InTexCoord : TEXCOORD0, 7 | in float4 InColor : COLOR0, 8 | out float4 OutPosition : POSITION, 9 | out float2 OutTexCoord : TEXCOORD0, 10 | out float4 OutColor : COLOR0 11 | ) 12 | { 13 | OutPosition = mul(InPosition, Transform ); 14 | OutColor = InColor; 15 | OutTexCoord = InTexCoord; 16 | } 17 | -------------------------------------------------------------------------------- /Content/EngineShader/SkinnedMeshVertexShader.SF: -------------------------------------------------------------------------------- 1 | 2 | // SM 2.0 max 256 constant 3 | // Old Methed 1 bone = 4 constant total pure 64 bones , safe 50 bones 4 | // New Methed 1 bone = 2 constant total pure 128 bones , safe 100 bones 5 | 6 | float4x4 BoneLocalTransform[50]; 7 | 8 | 9 | float4x4 WorldViewProjectionTransform; 10 | 11 | void Main( 12 | in float4 InPosition : POSITION, 13 | in float2 InTexCoord : TEXCOORD0, 14 | in float4 BoneWeights : BLENDWEIGHT0, 15 | in float4 BoneIndices : BLENDINDICES0, 16 | out float4 OutPosition : POSITION, 17 | out float2 OutTexCoord : TEXCOORD0 18 | ) 19 | { 20 | float4x4 SkinTransform = 0; 21 | 22 | SkinTransform += BoneLocalTransform[BoneIndices.x] * BoneWeights.x; 23 | SkinTransform += BoneLocalTransform[BoneIndices.y] * BoneWeights.y; 24 | SkinTransform += BoneLocalTransform[BoneIndices.z] * BoneWeights.z; 25 | SkinTransform += BoneLocalTransform[BoneIndices.w] * BoneWeights.w; 26 | float4 LocalPos = mul(InPosition, SkinTransform); 27 | 28 | 29 | 30 | OutPosition = mul(LocalPos, WorldViewProjectionTransform ); 31 | OutTexCoord = InTexCoord; 32 | } 33 | -------------------------------------------------------------------------------- /Content/EngineShader/VertexFactory.SF: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | void BuildParameterInterpolants( float3 InEyeVector, float3 InLightPosition, VertexFactoryInput Input, out VertexFactoryInterpolants OutFactoryInterpolants ) 8 | { 9 | 10 | } 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /Content/EngineTexture/Fieldstone.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineTexture/Fieldstone.DDS -------------------------------------------------------------------------------- /Content/EngineTexture/FieldstoneBumpDOT3.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineTexture/FieldstoneBumpDOT3.DDS -------------------------------------------------------------------------------- /Content/EngineTexture/default.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineTexture/default.DDS -------------------------------------------------------------------------------- /Content/EngineTexture/test.DDS: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Content/EngineTexture/test.DDS -------------------------------------------------------------------------------- /Development/Assert/Max/GizmoAxis.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Assert/Max/GizmoAxis.max -------------------------------------------------------------------------------- /Development/Design/ArchiveSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/ArchiveSystem.txt -------------------------------------------------------------------------------- /Development/Design/Debugging.txt: -------------------------------------------------------------------------------- 1 | -no_thread_rendering 2 | -no_grid 3 | -no_thread_loading 4 | -no_shadercache 5 | -initscene 6 | 7 | F1 toggle update 8 | F6 toggle grid 9 | F7 recompile shader 10 | F8 thread rendeing 11 | F9 set debugging camera position 12 | 13 | 14 | -------------------------------------------------------------------------------- /Development/Design/EngineStuff.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/EngineStuff.txt -------------------------------------------------------------------------------- /Development/Design/FontSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/FontSystem.txt -------------------------------------------------------------------------------- /Development/Design/MaterialSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/MaterialSystem.txt -------------------------------------------------------------------------------- /Development/Design/ModelFileFormat.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/ModelFileFormat.txt -------------------------------------------------------------------------------- /Development/Design/ModelSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/ModelSystem.txt -------------------------------------------------------------------------------- /Development/Design/RTTISystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/RTTISystem.txt -------------------------------------------------------------------------------- /Development/Design/RenderSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/RenderSystem.txt -------------------------------------------------------------------------------- /Development/Design/StreamSystem.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/StreamSystem.txt -------------------------------------------------------------------------------- /Development/Design/TODO.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/TODO.txt -------------------------------------------------------------------------------- /Development/Design/ViewAndRT.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/ViewAndRT.txt -------------------------------------------------------------------------------- /Development/Design/u3_AsyncLoading.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_AsyncLoading.txt -------------------------------------------------------------------------------- /Development/Design/u3_BatchedElement.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_BatchedElement.txt -------------------------------------------------------------------------------- /Development/Design/u3_Canvas.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_Canvas.txt -------------------------------------------------------------------------------- /Development/Design/u3_FRenderResource.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_FRenderResource.txt -------------------------------------------------------------------------------- /Development/Design/u3_FVertexFactory.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_FVertexFactory.txt -------------------------------------------------------------------------------- /Development/Design/u3_HitProxy.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_HitProxy.txt -------------------------------------------------------------------------------- /Development/Design/u3_Material.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_Material.txt -------------------------------------------------------------------------------- /Development/Design/u3_ObjectManagement.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_ObjectManagement.txt -------------------------------------------------------------------------------- /Development/Design/u3_RenderPipeline.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_RenderPipeline.txt -------------------------------------------------------------------------------- /Development/Design/u3_RenderState.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_RenderState.txt -------------------------------------------------------------------------------- /Development/Design/u3_SceneManagement.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_SceneManagement.txt -------------------------------------------------------------------------------- /Development/Design/u3_Shader.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_Shader.txt -------------------------------------------------------------------------------- /Development/Design/u3_Texture.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_Texture.txt -------------------------------------------------------------------------------- /Development/Design/u3_Threading.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_Threading.txt -------------------------------------------------------------------------------- /Development/Design/u3_UModel.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_UModel.txt -------------------------------------------------------------------------------- /Development/Design/u3_UModelRender.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_UModelRender.txt -------------------------------------------------------------------------------- /Development/Design/u3_ViewportClient.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_ViewportClient.txt -------------------------------------------------------------------------------- /Development/Design/u3_ViewportClient.vsd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Design/u3_ViewportClient.vsd -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Application.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Application.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Camera.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Camera.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/CheckSum.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/CheckSum.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Clipboard.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Clipboard.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/CmdLineParser.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/CmdLineParser.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Color.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Color.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Console.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Console.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/CoreInitializer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/CoreInitializer.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/DataStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/DataStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Delegate2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Delegate2.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Diagnose.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Diagnose.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Directory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Directory.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/DotFile.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace NekoEngine 5 | { 6 | class DotFile 7 | { 8 | public: 9 | bool Open( DataStream* stream, bool copymemory ); 10 | 11 | bool Open( const wchar_t* filename ); 12 | 13 | WString Read( const wchar* key ) 14 | { 15 | WString ret; 16 | 17 | Read( key, ret ); 18 | 19 | return ret; 20 | } 21 | 22 | template 23 | bool Read( const wchar* key, T& v ) 24 | { 25 | WString ret; 26 | 27 | if (!Read( key, ret ) ) 28 | return false; 29 | 30 | if ( !value_parse( ret, v) ) 31 | return false; 32 | 33 | return true; 34 | } 35 | 36 | template 37 | T Read( const wchar* key ) 38 | { 39 | T v; 40 | if ( Read( key, v ) ) 41 | return v; 42 | 43 | return value_default( ); 44 | } 45 | 46 | template 47 | T Read( const wchar* key, const T& defaultvalue ) 48 | { 49 | T v; 50 | if ( Read( key, v ) ) 51 | return v; 52 | 53 | return defaultvalue; 54 | } 55 | 56 | bool Read( const wchar* key, WString& ret ); 57 | 58 | private: 59 | bool Parse( ); 60 | 61 | private: 62 | TextFile mTextFile; 63 | typedef std::map > StringMap; 64 | StringMap mStringMap; 65 | }; 66 | 67 | 68 | //DotFileFromFile file; 69 | //file.Open(L"a.config" ); 70 | //file.Parse(); 71 | //int str = file.Read( L"System.Count" ); 72 | } -------------------------------------------------------------------------------- /Development/Engine/Include/Core/DynamicHash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/DynamicHash.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/DynamicLib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/DynamicLib.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/EngineType.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/EngineType.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/FRect.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/FRect.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/File.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/File.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/FileFinder.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/FileFinder.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/FileStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/FileStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/GrowableBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/GrowableBuffer.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/HeapStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/HeapStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/IniFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/IniFile.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Intersection.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Intersection.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/KernelObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/KernelObject.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Lock.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Lock.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Log.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Log.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/MathLib.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/MathLib.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Matrix3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Matrix3.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Matrix4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Matrix4.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/NameTable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/NameTable.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/PackFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/PackFile.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/PackSource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | 6 | class PackGenerator : public FindFileListener 7 | { 8 | public: 9 | PackGenerator( ); 10 | 11 | void AddSource( const wchar* path,const wchar* extName = null,bool recursize = false ); 12 | 13 | void SetOutputDir( const wchar* path ); 14 | 15 | int Generate(const wchar* packfile, Logger* logger, bool nametable = true ); 16 | 17 | private: 18 | virtual bool OnFindFile( const wchar* path, const wchar* name ); 19 | 20 | virtual bool OnFindDirectory( const wchar* path , bool& recursive ); 21 | 22 | private: 23 | typedef std::list StringList; 24 | StringList mFileList; 25 | WString mOutpath; 26 | bool mRecursize; 27 | }; 28 | 29 | class PackExtractor 30 | { 31 | public: 32 | PackExtractor(const wchar* packFile); 33 | 34 | int Extract(const wchar* path, Logger* logger ); 35 | 36 | private: 37 | struct NameTable 38 | { 39 | WString mName; 40 | int mHashName; 41 | }; 42 | 43 | WString mPackfile; 44 | }; 45 | } -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Path.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Path.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Persistence.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Persistence.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Point.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Point.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Property3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Property3.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/PropertySerializer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/PropertySerializer.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/ProxyStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/ProxyStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Quaternion.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Quaternion.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/RTTIObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/RTTIObject.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Rect.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Rect.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/RefCounting.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/RefCounting.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/RefStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/RefStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/RingBuffer.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/RingBuffer.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Rotator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Rotator.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Shape.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Shape.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/StackStream.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/StackStream.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/StaticHash.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/StaticHash.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/StringConv.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/StringConv.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/StringHelper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/StringHelper.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/StringHelperA.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/StringHelperA.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/SyncObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/SyncObject.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/TextFile.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/TextFile.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Thread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Thread.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/TimeSource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/TimeSource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Vector2.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Vector2.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Vector3.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Vector3.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Vector4.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Vector4.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Viewport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Viewport.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/Win32Header.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/Win32Header.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/WinControl.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/WinControl.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/WinDesktop.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/WinDesktop.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/WinFileDialog.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/WinFileDialog.h -------------------------------------------------------------------------------- /Development/Engine/Include/Core/WinForm.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Core/WinForm.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Actor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Actor.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ActorComponent.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ActorComponent.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ActorFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ActorFactory.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ActorFamily.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ActorFamily.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Animation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Animation.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/AnimationResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/AnimationResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/AsyncTaskThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/AsyncTaskThread.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/BatchedElement.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/BatchedElement.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/CameraActor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/CameraActor.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/CameraController.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/CameraController.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Canvas.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Canvas.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/EngineCommon.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | /** \addtogroup Engine 6 | * @{ 7 | */ 8 | /** \addtogroup System 9 | * @{ 10 | */ 11 | 12 | 13 | extern bool IsInRenderingThread(); 14 | 15 | extern bool IsInGameThread(); 16 | 17 | extern bool IsInAsyncTaskThread( ); 18 | 19 | /** @} */ 20 | /** @} */ 21 | } 22 | -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/EngineInitializer.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | class EngineInitializer 6 | { 7 | public: 8 | EngineInitializer( ); 9 | 10 | ~EngineInitializer( ); 11 | 12 | static void InitGlobalObject( ); 13 | 14 | static void ExitGlobalObject( ); 15 | }; 16 | 17 | #define NEKO_ENGINE_INIT NekoEngine::EngineInitializer nekoengineobj; 18 | } 19 | -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/FileVersion.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | #define FILE_VER_MESH 5 6 | #define FILE_VER_SKIN 2 7 | #define FILE_VER_ANIMATION 2 8 | #define FILE_VER_MATERIAL_DESCRIPTOR 3 9 | #define FILE_VER_MATERIAL_INS 2 10 | #define FILE_VER_SHADERCACHE 2 11 | #define FILE_VER_GLOBAL_SHADERCACHE 1 12 | #define FILE_VER_MATERIAL_SHADERCACHE 1 13 | #define FILE_VER_MATERIAL_SHADERINDEX 1 14 | #define FILE_VER_SCENE 1 15 | } 16 | -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/GameEngine.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/GameEngine.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/GameWorld.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/GameWorld.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/GlobalShaderFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/GlobalShaderFactory.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/HitProxy.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/HitProxy.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ManagedObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ManagedObject.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialCompiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialCompiler.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialDefine.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | enum eMaterialValueType 6 | { 7 | MVT_None, 8 | MVT_Float, 9 | MVT_Float2, 10 | MVT_Float3, 11 | MVT_Float4, 12 | }; 13 | 14 | enum eMaterialValueMask 15 | { 16 | MVM_RGBA, 17 | MVM_RGB, 18 | MVM_R, 19 | MVM_G, 20 | MVM_B, 21 | MVM_A, 22 | }; 23 | 24 | enum eMaterialMathOperator 25 | { 26 | MMO_Add, 27 | MMO_Sub, 28 | MMO_Mul, 29 | MMO_Div, 30 | MMO_Dot, 31 | }; 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialDescriptor.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialDescriptor.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialGen.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialGen.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialInstance.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialInstance.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialNode.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialNode.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialParameter.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialParameter.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialShader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialShader.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialShaderFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialShaderFactory.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MaterialSlot.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MaterialSlot.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MeshComponent.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MeshComponent.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MeshResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MeshResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MessageInputDriver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MessageInputDriver.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ModelMaterialShader.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ModelMaterialShader.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/MovableObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/MovableObject.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/PresentWindow.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/PresentWindow.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RHI.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RHI.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderFont.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderFont.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderQueue.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderQueue.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderState.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderState.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderStateWrapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderStateWrapper.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderTarget.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderTarget.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderTexture.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderTexture.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderThread.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderThread.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/RenderUtility.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/RenderUtility.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ResourceLocation.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ResourceLocation.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Scene.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Scene.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/SceneView.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/SceneView.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ShaderCompiler.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ShaderCompiler.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/ShaderMaster.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/ShaderMaster.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Skeleton.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Skeleton.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/SkeletonMeshComponent.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/SkeletonMeshComponent.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/SkeletonMeshResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/SkeletonMeshResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/StaticMeshComponent.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/StaticMeshComponent.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/StaticMeshResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/StaticMeshResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/TextureResource.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/TextureResource.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/Tickable.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/Tickable.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/VertexFactory.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/VertexFactory.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/VertexFormat.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/VertexFormat.h -------------------------------------------------------------------------------- /Development/Engine/Include/Engine/WorldPick.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/Engine/WorldPick.h -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore_Basic.h" 4 | #include "NekoCore_Math.h" 5 | #include "NekoCore_Stream.h" 6 | #include "NekoCore_Platform.h" 7 | #include "NekoCore_Reflection.h" 8 | #include "NekoCore_Pack.h" 9 | 10 | 11 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Basic.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/NekoCore_Basic.h -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Math.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // Math 4 | #include "Core/Color.h" 5 | #include "Core/MathLib.h" 6 | #include "Core/Vector2.h" 7 | #include "Core/Rotator.h" 8 | #include "Core/Vector3.h" 9 | #include "Core/Vector4.h" 10 | #include "Core/Matrix3.h" 11 | #include "Core/Matrix4.h" 12 | #include "Core/Point.h" 13 | #include "Core/Quaternion.h" 14 | #include "Core/Rect.h" 15 | #include "Core/Shape.h" 16 | #include "Core/Viewport.h" 17 | #include "Core/Camera.h" 18 | #include "Core/FRect.h" 19 | #include "Core/Intersection.h" 20 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Pack.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore_Platform.h" 4 | // Pack 5 | #include "Core/PackFile.h" 6 | #include "Core/PackSource.h" 7 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Platform.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore_Math.h" 4 | 5 | 6 | // Platform 7 | 8 | #include "Core/WinControl.h" 9 | #include "Core/WinDesktop.h" 10 | #include "Core/WinFileDialog.h" 11 | #include "Core/WinForm.h" 12 | #include "Core/Application.h" 13 | 14 | #include "Core/Clipboard.h" 15 | #include "Core/CmdLineParser.h" 16 | #include "Core/KernelObject.h" 17 | #include "Core/Directory.h" 18 | #include "Core/DynamicLib.h" 19 | #include "Core/Path.h" 20 | #include "Core/File.h" 21 | #include "Core/FileFinder.h" 22 | #include "Core/Lock.h" 23 | #include "Core/SyncObject.h" 24 | #include "Core/Thread.h" 25 | #include "Core/TimeSource.h" 26 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Reflection.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore_Math.h" 4 | 5 | // Reflection 6 | #include "Core/DataConv.h" 7 | #include "Core/DataConvA.h" 8 | #include "Core/Delegate2.h" 9 | #include "Core/NameTable.h" 10 | #include "Core/PropertySerializer.h" 11 | #include "Core/Property3.h" 12 | #include "Core/RTTIObject.h" 13 | #include "Core/Persistence.h" 14 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoCore_Stream.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore_Reflection.h" 4 | 5 | // Stream 6 | #include "Core/DataStream.h" 7 | #include "Core/RefStream.h" 8 | #include "Core/HeapStream.h" 9 | #include "Core/StackStream.h" 10 | #include "Core/FileStream.h" 11 | #include "Core/ProxyStream.h" 12 | #include "Core/TextFile.h" 13 | #include "Core/DotFile.h" 14 | #include "Core/IniFile.h" 15 | 16 | 17 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define ENGINE_API 4 | 5 | #include "Engine/EngineInitializer.h" 6 | 7 | #include "NekoInput.h" 8 | #include "NekoEngine_System.h" 9 | #include "NekoEngine_Render.h" 10 | #include "NekoEngine_Material.h" 11 | #include "NekoEngine_Model.h" 12 | #include "NekoEngine_Extend.h" 13 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_Archive.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Engine/nArchiveMaster.h" 4 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_Extend.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoEngine_System.h" 4 | 5 | #include "Engine/ActorFamily.h" 6 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_Material.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoEngine_Render.h" 4 | #include "Engine/MaterialDefine.h" 5 | #include "Engine/MaterialParameter.h" 6 | #include "Engine/MaterialCompiler.h" 7 | #include "Engine/MaterialSlot.h" 8 | #include "Engine/MaterialNode.h" 9 | #include "Engine/MaterialDescriptor.h" 10 | #include "Engine/MaterialShader.h" 11 | #include "Engine/MaterialShaderFactory.h" 12 | #include "Engine/MaterialInstance.h" 13 | #include "Engine/MaterialGen.h" 14 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_Model.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoEngine_Render.h" 4 | #include "NekoEngine_Material.h" 5 | #include "NekoEngine_System.h" 6 | 7 | #include "Engine/FileVersion.h" 8 | 9 | #include "Engine/AnimationResource.h" 10 | #include "Engine/Animation.h" 11 | 12 | #include "Engine/MeshResource.h" 13 | #include "Engine/MeshComponent.h" 14 | 15 | #include "Engine/StaticMeshResource.h" 16 | #include "Engine/StaticMeshComponent.h" 17 | 18 | 19 | #include "Engine/SkeletonMeshResource.h" 20 | #include "Engine/SkeletonMeshComponent.h" 21 | #include "Engine/Skeleton.h" 22 | 23 | #include "Engine/ModelMaterialShader.h" 24 | 25 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_Render.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Include/NekoEngine_Render.h -------------------------------------------------------------------------------- /Development/Engine/Include/NekoEngine_System.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Engine/EngineCommon.h" 4 | #include "Engine/Tickable.h" 5 | 6 | #include "Engine/Scene.h" 7 | #include "Engine/MessageInputDriver.h" 8 | 9 | #include "Engine/AsyncTaskThread.h" 10 | #include "Engine/ManagedObject.h" 11 | #include "Engine/ResourceLocation.h" 12 | 13 | #include "Engine/ActorComponent.h" 14 | #include "Engine/MovableObject.h" 15 | #include "Engine/Actor.h" 16 | #include "Engine/ActorFactory.h" 17 | #include "Engine/GameWorld.h" 18 | #include "Engine/WorldPick.h" 19 | #include "Engine/CameraActor.h" 20 | 21 | #include "Engine/GameEngine.h" 22 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoFont.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace NekoEngine 5 | { 6 | class IFontGlyph 7 | { 8 | public: 9 | virtual const Point& GetUV( ) = 0; 10 | 11 | virtual const Point& GetSize( ) = 0; 12 | 13 | virtual const Point& GetOffset( ) = 0; 14 | 15 | virtual RenderTexture* GetTexture() = 0; 16 | 17 | virtual dword GetTextureWidth() = 0; 18 | 19 | virtual dword GetTextureHeight() = 0; 20 | }; 21 | 22 | class IFontObject 23 | { 24 | public: 25 | virtual IFontGlyph* GetGlyph( wchar C ) = 0; 26 | 27 | virtual void CommitFontTextureByString( const wchar* Text ) = 0; 28 | }; 29 | 30 | class IFontDriver 31 | { 32 | public: 33 | virtual void Release() = 0; 34 | 35 | virtual IFontObject* CreateFontType( const wchar* FontPathName, dword FontSize ) = 0; 36 | }; 37 | 38 | 39 | extern void FontDriverInitialize( ); 40 | 41 | extern IFontDriver* FontDrv; 42 | } 43 | -------------------------------------------------------------------------------- /Development/Engine/Include/NekoInput.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace NekoEngine 5 | { 6 | class IInputDriver 7 | { 8 | public: 9 | virtual void Tick( float elapse ) = 0; 10 | 11 | virtual bool IsMouseDown(eMouseButton Button) = 0; 12 | 13 | virtual bool IsKeyDown(eKeyButton Button) = 0; 14 | 15 | virtual bool IsMouseUp(eMouseButton Button) = 0; 16 | 17 | virtual bool IsKeyUp(eKeyButton Button) = 0; 18 | 19 | virtual Point GetMouseOffset( ) = 0; 20 | 21 | virtual int GetMouseScroller( ) = 0; 22 | 23 | virtual Point GetMousePoint( ) = 0; 24 | }; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Application.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Application.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Camera.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Camera.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/CoreInitializer.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | 3 | #include "NekoCore_Reflection.h" 4 | #include "NekoCore_Platform.h" 5 | 6 | namespace NekoEngine 7 | { 8 | 9 | CoreInitializer::CoreInitializer() 10 | { 11 | InitGlobalObject(); 12 | } 13 | 14 | 15 | void CoreInitializer::InitGlobalObject() 16 | { 17 | MathTable::StaticInit(); 18 | CheckSum::StaticInit( ); 19 | NameRef::StaticInit( ); 20 | TimeSource::StaticInit(); 21 | RTTIObject::StaticInit(); 22 | BinarySerializer::StaticInit(); 23 | } 24 | 25 | void CoreInitializer::ExitGlobalObject() 26 | { 27 | BinarySerializer::StaticExit(); 28 | RTTIObject::StaticExit(); 29 | NameRef::StaticExit(); 30 | } 31 | 32 | CoreInitializer::~CoreInitializer() 33 | { 34 | ExitGlobalObject(); 35 | } 36 | 37 | 38 | 39 | 40 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Core/CorePCH.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/Core/CorePCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //#include "NekoCore_Basic.h" 4 | #include "NekoCore.h" 5 | 6 | #include "Core/Win32Header.h" 7 | 8 | #include 9 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/DataConvA.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/DataConvA.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/DataStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/DataStream.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/DotFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/DotFile.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/DynamicLib.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Platform.h" 3 | 4 | namespace NekoEngine 5 | { 6 | DynamicLib::DynamicLib() : 7 | mInstance(null) 8 | { 9 | 10 | } 11 | 12 | bool DynamicLib::Load(const wchar* libname) 13 | { 14 | mInstance = (handle)::LoadLibrary( libname ); 15 | 16 | return mInstance != null; 17 | } 18 | 19 | void DynamicLib::Unload() 20 | { 21 | ::FreeLibrary( (HMODULE)mInstance ); 22 | mInstance = null; 23 | } 24 | 25 | void* DynamicLib::GetSymbol(const wchar* name) 26 | { 27 | return (void*)::GetProcAddress((HMODULE)mInstance, StringConverter().UnicodeToAnsi(name)); 28 | } 29 | 30 | void* DynamicLib::GetSymbol(const char* name) 31 | { 32 | return (void*)::GetProcAddress((HMODULE)mInstance, name); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Core/EnumObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/EnumObject.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/FRect.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Math.h" 3 | 4 | namespace NekoEngine 5 | { 6 | const FRect FRect::cNullRect( 0, 0, 0, 0 ); 7 | 8 | FRect FRect::Intersect( const FRect& rect1, const FRect& rect2 ) 9 | { 10 | if ( rect1.Width( ) == 0 || rect1.Height( ) == 0 ) 11 | return rect2; 12 | 13 | if ( rect2.Width( ) == 0 || rect2.Height( ) == 0 ) 14 | return rect1; 15 | 16 | float left = Math::Max( rect1.left, rect2.left ); 17 | 18 | if ( left >= rect1.right || left >= rect2.right ) 19 | return cNullRect; 20 | 21 | float right = Math::Min( rect1.right, rect2.right ); 22 | 23 | if ( right <= rect1.left || right <= rect2.left ) 24 | return cNullRect; 25 | 26 | float top = Math::Max( rect1.top, rect2.top ); 27 | 28 | if ( top >= rect1.bottom || top >= rect2.bottom ) 29 | return cNullRect; 30 | 31 | float bottom = Math::Min( rect1.bottom, rect2.bottom ); 32 | 33 | if ( bottom <= rect1.top || bottom <= rect2. top ) 34 | return cNullRect; 35 | 36 | return FRect( left, top, right, bottom ); 37 | } 38 | 39 | FRect FRect::Unite( const FRect& rect1, const FRect& rect2 ) 40 | { 41 | if ( rect1.Width( ) == 0 || rect1.Height( ) == 0 ) 42 | return rect2; 43 | 44 | if ( rect2.Width( ) == 0 || rect2.Height( ) == 0 ) 45 | return rect1; 46 | 47 | float left = Math::Min( rect1.left, rect2.left ); 48 | float right = Math::Max( rect1.right, rect2.right ); 49 | float top = Math::Min( rect1.top, rect2.top ); 50 | float bottom = Math::Max( rect1.bottom, rect2.bottom ); 51 | 52 | return FRect( left, top, right, bottom ); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/File.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include 3 | #include "NekoCore_Platform.h" 4 | 5 | namespace NekoEngine 6 | { 7 | bool File::Exists(const wchar* FileName) 8 | { 9 | return ::PathFileExists( FileName ) != FALSE; 10 | } 11 | 12 | dword File::GetFileSize( const wchar* FileName ) 13 | { 14 | HANDLE FileHandle = ::CreateFile( FileName, GENERIC_READ,FILE_SHARE_READ,null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, null ); 15 | 16 | if ( FileHandle == INVALID_HANDLE_VALUE) 17 | return 0; 18 | 19 | dword filesize = ::GetFileSize(FileHandle, null ); 20 | 21 | if (filesize == INVALID_FILE_SIZE) 22 | return 0; 23 | 24 | ::CloseHandle( FileHandle ); 25 | 26 | return filesize; 27 | } 28 | 29 | bool File::GetFileModifyTime( const wchar* FileName, FileTime& Time ) 30 | { 31 | HANDLE FileHandle = ::CreateFile( FileName, GENERIC_READ,FILE_SHARE_READ,null, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, null ); 32 | 33 | if ( FileHandle == INVALID_HANDLE_VALUE) 34 | return false; 35 | 36 | bool Result = true; 37 | 38 | if (!::GetFileTime( FileHandle, null, null, (LPFILETIME)&Time )) 39 | { 40 | Result = false; 41 | } 42 | 43 | ::CloseHandle(FileHandle); 44 | 45 | return Result; 46 | } 47 | 48 | bool File::Delete( const wchar* FileName ) 49 | { 50 | return ::DeleteFile( FileName ) != FALSE; 51 | } 52 | 53 | bool File::IsHidden( const wchar* FileName ) 54 | { 55 | return (::GetFileAttributes( FileName ) & FILE_ATTRIBUTE_HIDDEN) == FILE_ATTRIBUTE_HIDDEN; 56 | } 57 | 58 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Core/HeapStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/HeapStream.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/IniFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/IniFile.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Intersection.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Intersection.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Log.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Log.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Matrix4.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Matrix4.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/MemoryTracker.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/MemoryTracker.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/NameTable.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/NameTable.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/PackFile.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/PackFile.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Persistence.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Persistence.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Point.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Math.h" 3 | 4 | namespace NekoEngine 5 | { 6 | const Point Point::cZero( 0, 0 ); 7 | const Point Point::cMaxPoint( 0x7FFFFFFF, 0x7FFFFFFF ); 8 | const Point Point::cMinPoint( 0x80000001, 0x80000001 ); 9 | 10 | int Point::DistanceTo(const Point& v1, const Point& v2) 11 | { 12 | int dx = v1.x - v2.x; 13 | int dy = v1.y - v2.y; 14 | return (int)Math::Sqrt( float(dx * dx + dy * dy) ); 15 | } 16 | 17 | 18 | int Point::DistanceToSqare(const Point& v1, const Point& v2) 19 | { 20 | int dx = v1.x - v2.x; 21 | int dy = v1.y - v2.y; 22 | return dx * dx + dy * dy ; 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Property2.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Reflection.h" 3 | 4 | namespace NekoEngine 5 | { 6 | ObjectPropertySet::ObjectPropertySet() 7 | : mEmptyProperty( null ) 8 | { 9 | 10 | } 11 | 12 | ObjectPropertySet::~ObjectPropertySet( ) 13 | { 14 | for ( PropertyMap::iterator it = mPropertyMap.begin(); 15 | it != mPropertyMap.end(); 16 | ++it ) 17 | { 18 | delete ( it->second ); 19 | } 20 | 21 | mPropertyMap.clear(); 22 | } 23 | 24 | 25 | ObjectProperty* ObjectPropertySet::Add( ObjectProperty* prop ) 26 | { 27 | mPropertyMap.insert( std::pair( prop->GetNameRef(), prop ) ); 28 | prop->SetDefault(); 29 | return prop; 30 | } 31 | 32 | void ObjectPropertySet::Remove( const NameRef& name ) 33 | { 34 | PropertyMap::iterator it = mPropertyMap.find( name ); 35 | if ( it == mPropertyMap.end() ) 36 | return; 37 | 38 | delete (it->second); 39 | 40 | mPropertyMap.erase( it ); 41 | } 42 | 43 | ObjectProperty* ObjectPropertySet::Query( const NameRef& name ) 44 | { 45 | PropertyMap::iterator it = mPropertyMap.find( name ); 46 | if ( it == mPropertyMap.end() ) 47 | return null; 48 | 49 | return it->second; 50 | } 51 | 52 | ObjectProperty* ObjectPropertySet::GetFirst() 53 | { 54 | mIterator = mPropertyMap.begin(); 55 | 56 | return GetNext(); 57 | } 58 | 59 | ObjectProperty* ObjectPropertySet::GetNext() 60 | { 61 | if ( mIterator == mPropertyMap.end() ) 62 | return null; 63 | 64 | ObjectProperty* prop = mIterator->second; 65 | ++mIterator; 66 | return prop; 67 | } 68 | 69 | } 70 | 71 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Property3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Property3.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/RTTIObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/RTTIObject.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/RefStream.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Stream.h" 3 | 4 | namespace NekoEngine 5 | { 6 | RefStream::RefStream( ) 7 | : mRefData( null ) 8 | { 9 | 10 | } 11 | 12 | RefStream::RefStream( const void* data, dword size ) 13 | : mRefData( null ) 14 | { 15 | mRefData = (char*)data; 16 | mDataSize = size; 17 | } 18 | 19 | RefStream::RefStream( DataStream* m, dword numberOfBytes ) 20 | { 21 | mRefData = m->GetBuffer(); 22 | mDataSize = numberOfBytes; 23 | } 24 | 25 | RefStream::RefStream( DataStream* m ) 26 | { 27 | mRefData = m->GetBuffer(); 28 | mDataSize = m->GetSize(); 29 | } 30 | 31 | 32 | bool RefStream::WriteBuffer( const void* input, dword numberOfBytes ) 33 | { 34 | Assert( "RefStream read only memory content!" == 0 ); 35 | 36 | return true; 37 | } 38 | 39 | char* RefStream::GetBuffer() 40 | { 41 | return (char*)mRefData; 42 | } 43 | 44 | char* RefStream::AllocBuffer( dword size ) 45 | { 46 | return (char*)mRefData; 47 | } 48 | 49 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Core/SettingObject.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Reflection.h" 3 | 4 | namespace NekoEngine 5 | { 6 | void SettingObject::BindMember( const NameRef& objname, void* instancePtr, void* dataPtr, SettingProxy* proxy ) 7 | { 8 | proxy->mOffset = dword(dataPtr) - dword(instancePtr); 9 | 10 | MemberList& memberlist = mSettingMap[ objname ]; 11 | memberlist[ proxy->mName ] = proxy; 12 | } 13 | 14 | bool SettingObject::SetMember( const NameRef& objname, void* instancePtr, const char* k, const char* v ) 15 | { 16 | MemberList& memberlist = mSettingMap[ objname ]; 17 | 18 | MemberList::iterator it = memberlist.find( NameRef( k, NameBuild_Find ) ); 19 | if ( it == memberlist.end() ) 20 | return false; 21 | 22 | SettingProxy* proxy = it->second; 23 | 24 | void* newptr = (void*)(dword(instancePtr) + proxy->mOffset); 25 | 26 | return it->second->Parse( newptr , v ); 27 | } 28 | 29 | SettingObject::~SettingObject() 30 | { 31 | for ( SettingMap::iterator bit = mSettingMap.begin(); 32 | bit != mSettingMap.end(); 33 | ++bit ) 34 | { 35 | MemberList& memberlist = bit->second; 36 | 37 | for ( MemberList::iterator it = memberlist.begin(); 38 | it != memberlist.end(); 39 | ++it ) 40 | { 41 | delete it->second; 42 | } 43 | 44 | memberlist.clear(); 45 | } 46 | 47 | mSettingMap.clear(); 48 | } 49 | 50 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Shape.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Shape.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/StackStream.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/StackStream.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Thread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Thread.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/TimeSource.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/TimeSource.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Vector3.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Vector3.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/Viewport.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/Viewport.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/WinDesktop.cpp: -------------------------------------------------------------------------------- 1 | #include "CorePCH.h" 2 | #include "NekoCore_Platform.h" 3 | 4 | namespace NekoEngine 5 | { 6 | Point Desktop::GetResolution() 7 | { 8 | return Point(::GetSystemMetrics( SM_CXSCREEN ),::GetSystemMetrics( SM_CYSCREEN )); 9 | } 10 | 11 | handle Desktop::GetHandle() 12 | { 13 | return ::GetDesktopWindow(); 14 | } 15 | 16 | 17 | 18 | 19 | } 20 | -------------------------------------------------------------------------------- /Development/Engine/Source/Core/WinFileDialog.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/WinFileDialog.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Core/WinForm.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Core/WinForm.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Commands.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9Commands.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9DDSCodec.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9DDSCodec.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Device.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9Device.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Device.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9Device.h -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9PCH.cpp: -------------------------------------------------------------------------------- 1 | #include "D3D9PCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9PCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef _DEBUG 4 | #define D3D_DEBUG_INFO 5 | #endif 6 | 7 | #include 8 | #include 9 | 10 | #pragma comment( lib, "d3d9" ) 11 | #pragma comment( lib, "d3dx9" ) 12 | 13 | #include 14 | 15 | 16 | #include "NekoCore.h" 17 | 18 | #include "PCH_Driver.h" 19 | 20 | -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Private.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9Private.h -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Resource.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | 6 | } -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9ShaderCompiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9ShaderCompiler.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9State.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9State.h -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Texture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9Texture.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9VertexFormat.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/D3D9Render/D3D9VertexFormat.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9VertexFormat.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | namespace NekoEngine 4 | { 5 | class D3D9VertexFormat : public RHIVertexFormat 6 | { 7 | public: 8 | D3D9VertexFormat( ); 9 | 10 | D3D9VertexFormat(const VertexFormat& vfp); 11 | virtual ~D3D9VertexFormat( ); 12 | 13 | 14 | 15 | 16 | 17 | bool operator == (const D3D9VertexFormat& Other); 18 | 19 | D3DVERTEXELEMENT9* GetVertexElements(); 20 | 21 | const D3DVERTEXELEMENT9* GetVertexElements() const; 22 | 23 | virtual void Commit(); 24 | 25 | friend DWORD GetTypeHash(const D3D9VertexFormat& Key) 26 | { 27 | return Key.Hash; 28 | } 29 | 30 | 31 | private: 32 | 33 | /** array of D3D vertex elements */ 34 | D3DVERTEXELEMENT9 VertexElements[ VertexFormat::MaxVertexElementCount ]; 35 | DWORD mElementCount; 36 | /** hash value based on vertex elements */ 37 | DWORD Hash; 38 | 39 | IDirect3DVertexDeclaration9* mDeclaration; 40 | }; 41 | 42 | } -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/D3D9Viewport.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | namespace NekoEngine 5 | { 6 | class D3D9VideoDevice : public RHIVideoDevice 7 | { 8 | public: 9 | D3D9VideoDevice(void* InWindowHandle, dword Width, dword Height, bool bInIsFullscreen); 10 | 11 | virtual ~D3D9VideoDevice(); 12 | 13 | virtual void Release( ); 14 | 15 | virtual void Resize( dword Width, dword Height, bool bInIsFullscreen, void* NewWindowHandle ); 16 | 17 | virtual void Present( ); 18 | 19 | // Accessors. 20 | virtual handle GetWindowHandle() { return mWindowHandle; } 21 | 22 | virtual dword GetWidth( ){ return mWidth; } 23 | 24 | virtual dword GetHeight( ){ return mHeight; } 25 | 26 | virtual void UpdateDevice( ); 27 | 28 | bool IsFullscreen() const { return mIsFullscreen; } 29 | 30 | 31 | 32 | private: 33 | void* mWindowHandle; 34 | dword mWidth,mHeight; 35 | bool mIsFullscreen; 36 | }; 37 | 38 | typedef std::vector D3DViewportArray; 39 | 40 | extern D3DViewportArray GD3DViewportArray; 41 | 42 | 43 | } -------------------------------------------------------------------------------- /Development/Engine/Source/D3D9Render/PCH_Driver.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #define D3DDRV_HEADER 4 | 5 | #include "Engine/EngineCommon.h" 6 | #include "NekoEngine_Render.h" 7 | 8 | #undef D3DDRV_HEADER 9 | 10 | 11 | 12 | #include "D3D9Private.h" 13 | #include "D3D9Device.h" 14 | #include "D3D9Utility.h" 15 | #include "D3D9DDSCodec.h" 16 | #include "D3D9Viewport.h" 17 | #include "D3D9State.h" 18 | #include "D3D9Resource.h" 19 | #include "D3D9VertexFormat.h" 20 | #include "D3D9Shader.h" -------------------------------------------------------------------------------- /Development/Engine/Source/DInput/DInput.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/DInput/DInput.h -------------------------------------------------------------------------------- /Development/Engine/Source/DInput/DInputPCH.cpp: -------------------------------------------------------------------------------- 1 | #include "DInputPCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/DInput/DInputPCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | #define DIRECTINPUT_VERSION 0x0800 5 | #include 6 | 7 | #pragma comment(lib,"dinput8") 8 | #pragma comment(lib,"dxguid") 9 | 10 | #include "NekoCore.h" 11 | 12 | #include "NekoInput.h" 13 | #include "DInput.h" -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/Actor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/Actor.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ActorComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/ActorComponent.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ActorFamily.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | #include "NekoEngine_Extend.h" 4 | 5 | namespace NekoEngine 6 | { 7 | 8 | 9 | ////////////////////////////////////////////////////////////////////////// 10 | // CameraControllerComponent 11 | ////////////////////////////////////////////////////////////////////////// 12 | IMPLEMENT_RTTI_CLASS( CameraControllerComponent) 13 | CameraControllerComponent::CameraControllerComponent() 14 | : mController( null ) 15 | { 16 | 17 | } 18 | 19 | CameraControllerComponent::~CameraControllerComponent() 20 | { 21 | delete mController; 22 | } 23 | 24 | void CameraControllerComponent::Draw( SceneView* RV ) 25 | { 26 | 27 | } 28 | 29 | void CameraControllerComponent::SetControllerType( CameraController* Controller, IInputDriver* InputDrv ) 30 | { 31 | if ( mController ) 32 | delete mController; 33 | 34 | mController = Controller; 35 | 36 | CameraActor* ACamera = mOwner->Cast(); 37 | 38 | Assert( ACamera != null ); 39 | 40 | Assert( mController != null ); 41 | Assert( InputDrv != null ); 42 | 43 | mController->AttachCamera( &ACamera->mCamera ); 44 | mController->AttachInputDevice( InputDrv ); 45 | } 46 | 47 | 48 | void CameraControllerComponent::Tick( float Elapse ) 49 | { 50 | Assert( mController != null ); 51 | 52 | mController->Tick( Elapse ); 53 | } 54 | 55 | 56 | 57 | 58 | 59 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/AnimationMixer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/AnimationMixer.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/AsyncTaskThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/AsyncTaskThread.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/BatchedElement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/BatchedElement.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/CameraActor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/CameraActor.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/CameraController.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/CameraController.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/EngineCommon.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | #include "NekoEngine_System.h" 4 | 5 | namespace NekoEngine 6 | { 7 | 8 | bool IsInRenderingThread() 9 | { 10 | if ( GRenderThread.mRenderThread.Valid() ) 11 | return Thread::GetCurrentThreadID() == GRenderThread.mRenderThread.GetThreadID(); 12 | 13 | return true; 14 | } 15 | 16 | bool IsInGameThread() 17 | { 18 | if ( GGameThreadID == 0 ) 19 | return true; 20 | 21 | return Thread::GetCurrentThreadID() == GGameThreadID; 22 | } 23 | 24 | bool IsInAsyncTaskThread( ) 25 | { 26 | return Thread::GetCurrentThreadID() == GAsyncTaskThread.mThread.GetThreadID(); 27 | } 28 | 29 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/EnginePCH.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/EnginePCH.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/EnginePCH.h -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/GameEngine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/GameEngine.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/GameWorld.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/GameWorld.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/GlobalShaderFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/GlobalShaderFactory.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/HitProxy.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | 4 | namespace NekoEngine 5 | { 6 | IMPLEMENT_RTTI_CLASS( ColorBrushPixelShader ); 7 | 8 | void ColorBrushPixelShader::BindShaderParameter( eShaderType ShaderType, const ShaderParameterMap& ParameterMap ) 9 | { 10 | mFillColor.Bind( ParameterMap, "FillColor" ); 11 | } 12 | 13 | void ColorBrushPixelShader::SetColor( const Color& C ) 14 | { 15 | if ( mShaderRHI.Valid() ) 16 | mShaderRHI->SetContantParameter( mFillColor, C ); 17 | } 18 | 19 | void ColorBrushPixelShader::Serialize( BinarySerializer& Ser ) 20 | { 21 | Super::Serialize( Ser ); 22 | 23 | Ser << mFillColor; 24 | } 25 | 26 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ManagedObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/ManagedObject.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialCompiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialCompiler.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialDescriptor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialDescriptor.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialInstance.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialInstance.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialNode.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialNode.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialParameter.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialParameter.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialShader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialShader.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialShaderFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialShaderFactory.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MaterialSlot.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MaterialSlot.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MeshComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MeshComponent.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MeshResource.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MeshResource.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ModelMaterialShader.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/ModelMaterialShader.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/MovableObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/MovableObject.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/NeTexture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/NeTexture.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/PresentWindow.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/PresentWindow.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RHI.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | 4 | namespace NekoEngine 5 | { 6 | 7 | 8 | 9 | void RHIShader::SetTextureParameter( const ShaderParameter& Parameter, RenderTexture* NewTexture ) 10 | { 11 | if ( NewTexture == null ) 12 | { 13 | SetTextureParameter( Parameter, GCheckerTexture->GetSamplerStateRHI(), GCheckerTexture->GetTextureRHI() ); 14 | } 15 | else 16 | { 17 | SetTextureParameter( Parameter, NewTexture->GetSamplerStateRHI(), NewTexture->GetTextureRHI() ); 18 | } 19 | } 20 | 21 | _byte* RHIShader::GetCodePointer() 22 | { 23 | return &mCodeBuffer[0]; 24 | } 25 | 26 | NekoEngine::dword RHIShader::GetCodeSize() 27 | { 28 | return mCodeBuffer.size(); 29 | } 30 | 31 | 32 | 33 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderFont.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderFont.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderQueue.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderQueue.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderResource.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | 4 | namespace NekoEngine 5 | { 6 | TLinkedList*& RenderResource::GetResourceList() 7 | { 8 | static TLinkedList* FirstResourceLink = null; 9 | return FirstResourceLink; 10 | } 11 | 12 | void RenderResource::Init() 13 | { 14 | if(!mInitialized) 15 | { 16 | mResourceLink = TLinkedList(this); 17 | mResourceLink.Link(GetResourceList()); 18 | 19 | InitDynamicRHI(); 20 | InitRHI(); 21 | 22 | mInitialized = true; 23 | } 24 | } 25 | 26 | void RenderResource::Release() 27 | { 28 | if(mInitialized) 29 | { 30 | ReleaseDynamicRHI(); 31 | ReleaseRHI(); 32 | mResourceLink.Unlink(); 33 | mInitialized = false; 34 | } 35 | } 36 | 37 | void RenderResource::UpdateRHI() 38 | { 39 | if(mInitialized ) 40 | { 41 | ReleaseRHI(); 42 | ReleaseDynamicRHI(); 43 | InitDynamicRHI(); 44 | InitRHI(); 45 | } 46 | } 47 | 48 | 49 | void RenderResource::BeginInitResource( ) 50 | { 51 | ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER( 52 | InitCommand, 53 | RenderResource*,Resource,this, 54 | { 55 | Resource->Init(); 56 | }); 57 | } 58 | 59 | void RenderResource::BeginReleaseResource( ) 60 | { 61 | ENQUEUE_UNIQUE_RENDER_COMMAND_ONEPARAMETER( 62 | ReleaseCommand, 63 | RenderResource*,Resource,this, 64 | { 65 | Resource->Release(); 66 | }); 67 | } 68 | 69 | 70 | 71 | } 72 | -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderTarget.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderTarget.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderTexture.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderTexture.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderThread.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderThread.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/RenderUtility.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/RenderUtility.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/Scene.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/Scene.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/SceneView.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/SceneView.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ShaderCompiler.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | 4 | namespace NekoEngine 5 | { 6 | bool ShaderParameterMap::FindParameterAllocation(const char* ParameterName, word& OutBaseRegisterIndex, word& OutNumRegisters) const 7 | { 8 | const ParameterAllocation* Allocation = ParameterMap.find(ParameterName); 9 | if(Allocation) 10 | { 11 | OutBaseRegisterIndex = Allocation->BaseRegisterIndex; 12 | OutNumRegisters = Allocation->NumRegisters; 13 | return true; 14 | } 15 | else 16 | { 17 | return false; 18 | } 19 | } 20 | 21 | void ShaderParameterMap::AddParameterAllocation(const char* ParameterName,word BaseRegisterIndex,word NumRegisters) 22 | { 23 | ParameterAllocation Allocation; 24 | Allocation.BaseRegisterIndex = BaseRegisterIndex; 25 | Allocation.NumRegisters = NumRegisters; 26 | ParameterMap.set(ParameterName,Allocation); 27 | } 28 | 29 | 30 | ShaderParameter::ShaderParameter() 31 | : mNumRegisters( 0 ) 32 | , mBaseRegisterIndex( -1 ) 33 | { 34 | 35 | } 36 | 37 | void ShaderParameter::Bind( const ShaderParameterMap& ParameterMap,const char* ParameterName ) 38 | { 39 | if(!ParameterMap.FindParameterAllocation(ParameterName,mBaseRegisterIndex,mNumRegisters)) 40 | { 41 | //Assert( "Shader Parameter Not Found" == 0); 42 | } 43 | } 44 | 45 | 46 | 47 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/ShaderMaster.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/ShaderMaster.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/SkeletonMeshComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/SkeletonMeshComponent.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/SkeletonMeshResource.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/SkeletonMeshResource.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/StaticMeshComponent.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/StaticMeshComponent.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/StaticMeshResource.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Model.h" 3 | 4 | namespace NekoEngine 5 | { 6 | IMPLEMENT_RTTI_CLASS( StaticMeshVertexFactory) 7 | 8 | IMPLEMENT_RTTI_CLASS( StaticMeshResource) 9 | 10 | StaticMeshResource::StaticMeshResource() 11 | { 12 | 13 | } 14 | 15 | StaticMeshResource::~StaticMeshResource() 16 | { 17 | 18 | } 19 | 20 | void StaticMeshResource::Serialize( BinarySerializer& Ser ) 21 | { 22 | Super::Serialize( Ser ); 23 | } 24 | 25 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/TextureResource.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_Render.h" 3 | 4 | namespace NekoEngine 5 | { 6 | ////////////////////////////////////////////////////////////////////////// 7 | // Hight Level Texture Object 8 | ////////////////////////////////////////////////////////////////////////// 9 | 10 | IMPLEMENT_RTTI_CLASS( TextureResource) 11 | 12 | TextureResource::TextureResource() 13 | : mRenderTexture( null ) 14 | , mStreamingFence( false ) 15 | { 16 | mRenderTexture = new RenderTexture2D; 17 | } 18 | 19 | 20 | void TextureResource::BeginDispose() 21 | { 22 | mRenderTexture->BeginReleaseResource( ); 23 | } 24 | 25 | bool TextureResource::CanDestroyNow() 26 | { 27 | return mRenderTexture->ReadyForDestory() && 28 | mStreamingFence.GetNumPendingFences() == 0; 29 | } 30 | 31 | 32 | void TextureResource::Serialize( BinarySerializer& Ser ) 33 | { 34 | DDSCodec_Load( Ser.GetStream(), mRenderTexture->GetMips(), mDDSParamter ); 35 | } 36 | 37 | 38 | void TextureResource::PostLoad() 39 | { 40 | mRenderTexture->BeginInitResource( mDDSParamter.mSizeX, mDDSParamter.mSizeY, mDDSParamter.mPixelFormat ); 41 | mReadyFence.BeginFence(); 42 | } 43 | 44 | 45 | TextureResource::~TextureResource() 46 | { 47 | SafeDelete( mRenderTexture ); 48 | } 49 | 50 | 51 | bool TextureResource::IsManualResourceReady( ) 52 | { 53 | return mReadyFence.GetNumPendingFences() == 0; 54 | } 55 | 56 | RenderTexture* TextureResource::GetRenderTexture() 57 | { 58 | return mRenderTexture; 59 | } 60 | 61 | 62 | 63 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/Tickable.cpp: -------------------------------------------------------------------------------- 1 | #include "EnginePCH.h" 2 | #include "NekoEngine_System.h" 3 | 4 | namespace NekoEngine 5 | { 6 | Tickable::TickableList Tickable::mTickableList; 7 | 8 | 9 | Tickable::Tickable() 10 | { 11 | mTickableList.push_back( this ); 12 | } 13 | 14 | Tickable::~Tickable() 15 | { 16 | mTickableList.remove( this ); 17 | } 18 | 19 | void Tickable::StaticTick( float Elapse ) 20 | { 21 | for ( TickableList::iterator it = mTickableList.begin(); 22 | it != mTickableList.end(); 23 | ++it) 24 | { 25 | Tickable* Obj = *it; 26 | 27 | if ( Obj->IsTickable() ) 28 | Obj->Tick( Elapse ); 29 | } 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/VertexFactory.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/VertexFactory.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Engine/WorldPick.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Engine/WorldPick.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontDriver.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontDriver.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontDriver.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontDriver.h -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontDrvPCH.cpp: -------------------------------------------------------------------------------- 1 | #include "FontDrvPCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontDrvPCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | #include 5 | 6 | 7 | #include "NekoCore.h" 8 | #include "NekoEngine.h" -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontFace.cpp: -------------------------------------------------------------------------------- 1 | #include "FontDrvPCH.h" 2 | #include "FontFiles.h" 3 | 4 | namespace NekoEngine 5 | { 6 | FontFace::FontFace( FontDriver* Driver ) 7 | : mDriver( Driver ) 8 | { 9 | 10 | } 11 | 12 | FontFace::~FontFace() 13 | { 14 | Release(); 15 | 16 | FT_Done_Face( mFTFace ); 17 | } 18 | 19 | bool FontFace::Load( FT_Library& FTLib, const wchar* FontFileName ) 20 | { 21 | StringConverter conv; 22 | 23 | if ( FT_New_Face( FTLib, conv.UnicodeToAnsi(FontFileName), 0, &mFTFace ) != 0 ) 24 | return false; 25 | 26 | 27 | mFileName = FontFileName; 28 | 29 | return true; 30 | } 31 | 32 | void FontFace::Release( ) 33 | { 34 | for ( FontObjectMap::iterator it = mFontObjectMap.begin(); 35 | it != mFontObjectMap.end(); 36 | ++it ) 37 | { 38 | FontObject* Obj = it->second; 39 | delete Obj; 40 | } 41 | 42 | mFontObjectMap.clear(); 43 | } 44 | 45 | FontObject* FontFace::GetFontObject( dword Size ) 46 | { 47 | FontObjectMap::iterator it = mFontObjectMap.find( Size ); 48 | if ( it != mFontObjectMap.end() ) 49 | return it->second; 50 | 51 | return null; 52 | } 53 | 54 | FontObject* FontFace::CreateFontObject( dword Size ) 55 | { 56 | FontObject* FontObj = new FontObject( *this, Size ); 57 | 58 | mFontObjectMap.insert( std::pair( Size, FontObj ) ); 59 | 60 | return FontObj; 61 | } 62 | 63 | 64 | 65 | 66 | 67 | } -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontFace.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontFace.h -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontFiles.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoFont.h" 4 | #include "FontObject.h" 5 | #include "FontFace.h" 6 | #include "FontGlyph.h" 7 | #include "FontDriver.h" -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontGlyph.cpp: -------------------------------------------------------------------------------- 1 | #include "FontDrvPCH.h" 2 | #include "FontFiles.h" 3 | 4 | namespace NekoEngine 5 | { 6 | /*FontGlyph::FontGlyph() 7 | : mIsCached( false ) 8 | { 9 | 10 | }*/ 11 | 12 | void FontGlyph::SetInfo( const Point& UV, const Point& Size, const Point& Offset, FontTexture* InTexture ) 13 | { 14 | mUV = UV; 15 | mSize = Size; 16 | mOffset = Offset; 17 | mTexture = InTexture; 18 | 19 | //mIsCached = true; 20 | } 21 | 22 | dword FontGlyph::GetTextureWidth() 23 | { 24 | return mTexture->mTexture->GetWidth(); 25 | } 26 | 27 | dword FontGlyph::GetTextureHeight() 28 | { 29 | return mTexture->mTexture->GetHeight(); 30 | } 31 | 32 | 33 | } -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontGlyph.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontGlyph.h -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontObject.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/FTFont/FontObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/FTFont/FontObject.h -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/PrivateInclude.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "WUtility.h" 4 | #include "WActor.h" 5 | #include "WGameEngine.h" 6 | -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WGameEngine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Wrapper/WGameEngine.cpp -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WGameEngine.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | using namespace System; 4 | 5 | namespace Wrapper 6 | { 7 | //public delegate void ResourceIteratorDelegate( String^ Path ); 8 | 9 | public ref class GameEngine : public ManualSingleton 10 | { 11 | //IMPLEMENT_SINGLETON( GameEngine ) 12 | public: 13 | GameEngine( ); 14 | 15 | ~GameEngine( ); 16 | 17 | 18 | 19 | 20 | void InitializeEngine( int Handle ); 21 | 22 | void FinalizeEngine(); 23 | 24 | void Update( ); 25 | 26 | void ResizeWindow( int X, int Y, int NewHandle ); 27 | 28 | void NotifyMouseMove( int x ,int y ); 29 | 30 | void NotifyMouseScroll( int z ); 31 | 32 | void NotifyKeyUp( int KeyCode ); 33 | 34 | void NotifyMouseUp( int KeyCode ); 35 | 36 | Actor^ CreateActor( ); 37 | 38 | property String^ GameEngine::ContentPath 39 | { 40 | String^ get( ) 41 | { 42 | return gcnew String( NekoEngine::GResourceMaster->GetContentPath( ) ); 43 | } 44 | 45 | Void set( String^ value ) 46 | { 47 | NekoEngine::GResourceMaster->SetContentPath( Utility::ToCharPtr( value ) ); 48 | } 49 | } 50 | 51 | private: 52 | //static GameEngine^ mInstance; 53 | 54 | 55 | 56 | internal: 57 | NekoEngine::GameEngine* mEngine; 58 | NekoEngine::RenderWindow* mWindow; 59 | }; 60 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WUtility.cpp: -------------------------------------------------------------------------------- 1 | #include "WrapperPCH.h" 2 | #include "PrivateInclude.h" 3 | #include 4 | 5 | namespace Wrapper 6 | { 7 | const wchar_t* Utility::ToCharPtr( System::String^ str ) 8 | { 9 | pin_ptr nativeString1 = PtrToStringChars( str ); 10 | return (const wchar_t*)nativeString1; 11 | } 12 | 13 | #define TYPE_MAPPING( TType ) mTypeMapping->Add( #TType, TType::typeid ) 14 | 15 | Utility::Utility() 16 | : mTypeMapping( gcnew Hashtable()) 17 | { 18 | TYPE_MAPPING( float ); 19 | TYPE_MAPPING( bool ); 20 | TYPE_MAPPING( Vector3 ); 21 | } 22 | 23 | Type^ Utility::ToManagedType( String^ TypeName ) 24 | { 25 | return (Type^)mTypeMapping[TypeName]; 26 | } 27 | 28 | 29 | } 30 | -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WUtility.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | using namespace System; 4 | 5 | using namespace System::Collections; 6 | 7 | namespace Wrapper 8 | { 9 | public ref class Vector3 10 | { 11 | public: 12 | float X; 13 | float Y; 14 | float Z; 15 | 16 | Vector3( float X ,float Y, float Z ) 17 | { 18 | this->X = X; 19 | this->Y = Y; 20 | this->Z = Z; 21 | } 22 | 23 | virtual String^ ToString( ) override 24 | { 25 | return String::Format("{0}, {1}, {2}",X, Y, Z); 26 | } 27 | }; 28 | 29 | generic 30 | public ref class Singleton 31 | { 32 | public: 33 | static TClass Instance( ) 34 | { 35 | if ( mInstance == nullptr ) 36 | { 37 | mInstance = Activator::CreateInstance(); 38 | } 39 | return mInstance; 40 | } 41 | 42 | private: 43 | static TClass mInstance; 44 | }; 45 | 46 | generic 47 | public ref class ManualSingleton 48 | { 49 | public: 50 | ManualSingleton( ) 51 | { 52 | mInstance = (TClass)this; 53 | } 54 | 55 | static TClass Instance( ) 56 | { 57 | return mInstance; 58 | } 59 | 60 | private: 61 | static TClass mInstance; 62 | }; 63 | 64 | 65 | public ref class Utility : public Singleton 66 | { 67 | public: 68 | Utility( ); 69 | 70 | static const wchar_t* ToCharPtr( String^ Str ); 71 | 72 | Type^ ToManagedType( String^ TypeName ); 73 | 74 | private: 75 | Hashtable^ mTypeMapping; 76 | }; 77 | } -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/Wrapper.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Engine/Source/Wrapper/Wrapper.aps -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WrapperPCH.cpp: -------------------------------------------------------------------------------- 1 | #include "WrapperPCH.h" -------------------------------------------------------------------------------- /Development/Engine/Source/Wrapper/WrapperPCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore.h" 4 | #include "NekoEngine.h" 5 | #include "Core/Win32Header.h" 6 | -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/DebugFrame.cpp: -------------------------------------------------------------------------------- 1 | #include "EngineDemoPCH.h" 2 | 3 | 4 | //IRenderDriver* GRenderDriver = null; 5 | IInputDriver* GInputDriver = null; 6 | //ModelMaster GModelMaster; 7 | //ArchiveMaster GArchiveMaster; 8 | 9 | DebugFrame::DebugFrame( ) 10 | :mShowGrid(true) 11 | { 12 | this->SetEventHandle(this); 13 | mCameraController = new FPSCameraController; 14 | //mCameraController = new ArcBallCameraController; 15 | } 16 | 17 | DebugFrame::~DebugFrame( ) 18 | { 19 | SafeDelete( mCameraController ); 20 | } 21 | 22 | bool DebugFrame::OnFormCreate( ) 23 | { 24 | GInputDriver = CreateDInput(); 25 | if ( !GInputDriver->Create( this->GetHandle() ) ) 26 | return false; 27 | 28 | return true; 29 | } 30 | 31 | 32 | 33 | bool DebugFrame::OnFormLoop( ) 34 | { 35 | TimeSource::Tick(); 36 | mFPSUnit.Tick(); 37 | 38 | float elapse = TimeSource::GetElapsedTime(); 39 | 40 | GInputDriver->Tick( elapse ); 41 | 42 | mCameraController->Tick( elapse ); 43 | 44 | Update( elapse ); 45 | 46 | return true; 47 | } 48 | 49 | void DebugFrame::OnFormDestroy(void) 50 | { 51 | SafeRelease( GInputDriver ); 52 | } 53 | 54 | 55 | void DebugFrame::OnKeyUp(eKeyButton button) 56 | { 57 | switch ( button ) 58 | { 59 | case FKey_P: 60 | { 61 | Application::SetAutoSleep( !Application::GetAutoSleep() ); 62 | } 63 | break; 64 | case FKey_G: 65 | { 66 | mShowGrid = !mShowGrid; 67 | } 68 | break; 69 | } 70 | 71 | } 72 | 73 | 74 | -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/DebugFrame.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/DebugFrame.h -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/DemoLauncher.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/DemoLauncher.aps -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/DemoMain.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/DemoMain.cpp -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Canvas.cpp: -------------------------------------------------------------------------------- 1 | #include "EngineDemoPCH.h" 2 | #include "PCH_Scene.h" 3 | 4 | IMPLEMENT_RTTI_CLASS(Demo_Canvas) 5 | 6 | void Demo_Canvas::OnEnter() 7 | { 8 | TexturePtr1 = GObjectManager->LoadObject( L"EngineTexture.test.DDS" ); 9 | 10 | } 11 | 12 | 13 | 14 | 15 | 16 | void Demo_Canvas::OnUpdate( float elapse ) 17 | { 18 | //Canvas canvas( GEngine->GetRenderTarget(0)->GetView( 0 )->GetViewport() ); 19 | //canvas.DrawTile( Vector2(100.0f, 100.0f), Vector2(100.0f, 100.0f) + Vector2((float)TexturePtr1->GetSizeX(), (float)TexturePtr1->GetSizeY()),Color::cWhite, TexturePtr1->GetRenderTexture() ); 20 | 21 | ////canvas.DrawTile( 120.0f, 120.0f, (float)TexturePtr2->GetSizeX(), (float)TexturePtr2->GetSizeY(),Color::cWhite, TexturePtr2->GetRenderTexture() ); 22 | 23 | 24 | //canvas.Flush(); 25 | 26 | } 27 | 28 | 29 | void Demo_Canvas::OnLeave() 30 | { 31 | TexturePtr1.Release(); 32 | 33 | 34 | TexturePtr2.Release(); 35 | } -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Canvas.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class Demo_Canvas : public SceneListener 5 | { 6 | DECLARE_RTTI_CLASS(Demo_Canvas, SceneListener, ClassFlag_Intrinsic); 7 | 8 | public: 9 | virtual void OnEnter( ); 10 | 11 | virtual void OnLeave( ); 12 | 13 | virtual void OnUpdate( float elapse ); 14 | 15 | private: 16 | TextureResourcePtr TexturePtr1; 17 | TextureResourcePtr TexturePtr2; 18 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_CubeMap.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_CubeMap : public SceneListener 4 | { 5 | DECLARE_RTTIOBJECT(Demo_CubeMap); 6 | 7 | public: 8 | Demo_CubeMap( ); 9 | 10 | virtual void OnCreate( ); 11 | 12 | virtual void OnDestroy( ); 13 | 14 | virtual void OnUpdate( float elapse ); 15 | 16 | virtual void OnRender( RenderContext* rc ); 17 | 18 | virtual void OnEnter(); 19 | 20 | virtual void OnLeave(); 21 | 22 | private: 23 | RawModel* mTeapot; 24 | RawModel* mSphere; 25 | 26 | struct CubeMapEffect : RenderEffect 27 | { 28 | ShaderParameter mViewProject; 29 | ShaderParameter mWorld; 30 | ShaderParameter mTexture; 31 | ShaderParameter mEyePosition; 32 | 33 | CubeMapEffect( ) 34 | { 35 | SetName( L"material/cubemap.effect" ); 36 | Bind( &mViewProject, "matViewProj" ); 37 | Bind( &mWorld, "matWorld"); 38 | Bind( &mTexture, "texCubeMap" ); 39 | Bind( &mEyePosition, "vecEyePosition" ); 40 | } 41 | }; 42 | 43 | CubeMapEffect mCubeMapEffect; 44 | 45 | struct SphereMapEffect : RenderEffect 46 | { 47 | ShaderParameter mViewProject; 48 | ShaderParameter mTexture; 49 | ShaderParameter mEyePosition; 50 | 51 | SphereMapEffect( ) 52 | { 53 | SetName( L"material\\spheremap.effect" ); 54 | Bind( &mViewProject, "matViewProj" ); 55 | Bind( &mTexture, "texEnvMap" ); 56 | Bind( &mEyePosition, "vecEyePosition" ); 57 | } 58 | }; 59 | 60 | SphereMapEffect mSphereMapEffect; 61 | 62 | CubeTexture mCubeTexture; 63 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Font.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/Demo_Font.cpp -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Font.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Engine/RenderFont.h" 4 | 5 | class Demo_Font : public SceneListener, 6 | public SceneViewListener 7 | { 8 | DECLARE_RTTI_CLASS(Demo_Font, SceneListener, ClassFlag_Intrinsic); 9 | 10 | public: 11 | Demo_Font( ); 12 | 13 | virtual void OnCreate( ); 14 | 15 | virtual void OnDestroy( ); 16 | 17 | virtual void OnUpdate( float elapse ); 18 | 19 | virtual void OnEnter(); 20 | 21 | virtual void OnLeave(); 22 | 23 | virtual void PostSceneViewDraw( SceneView* RV ); 24 | 25 | private: 26 | RenderFont* mFontObject; 27 | 28 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Material.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_Material : public SceneListener 4 | { 5 | DECLARE_RTTI_CLASS(Demo_Material, SceneListener, ClassFlag_Intrinsic); 6 | 7 | public: 8 | Demo_Material( ); 9 | 10 | virtual void OnEnter(); 11 | 12 | virtual void OnLeave(); 13 | 14 | virtual void OnUpdate( float elapse ); 15 | 16 | private: 17 | void GenerateMaterial( ); 18 | 19 | private: 20 | Actor* mTeapot; 21 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Model.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_Model : public SceneListener 4 | { 5 | DECLARE_RTTI_CLASS(Demo_Model, SceneListener, ClassFlag_Intrinsic); 6 | 7 | public: 8 | Demo_Model( ); 9 | 10 | virtual void OnCreate( ); 11 | 12 | virtual void OnDestroy( ); 13 | 14 | virtual void OnUpdate( float elapse ); 15 | 16 | virtual void OnEnter(); 17 | 18 | virtual void OnLeave(); 19 | void PostRenderViewDraw( SceneView* RV ); 20 | private: 21 | Actor* mShark; 22 | Actor* mTeapot; 23 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Persistence.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/Demo_Persistence.cpp -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Persistence.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class Demo_Persistence : public SceneListener 5 | { 6 | DECLARE_RTTI_CLASS(Demo_Persistence, SceneListener, ClassFlag_Intrinsic ) 7 | 8 | public: 9 | Demo_Persistence( ); 10 | 11 | 12 | 13 | virtual void OnEnter(); 14 | 15 | virtual void OnLeave(); 16 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Pick.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_Pick : public SceneListener 4 | { 5 | DECLARE_RTTI_CLASS(Demo_Pick, SceneListener, ClassFlag_Intrinsic); 6 | 7 | public: 8 | Demo_Pick( ); 9 | 10 | virtual void OnCreate( ); 11 | 12 | virtual void OnDestroy( ); 13 | 14 | virtual void OnUpdate( float elapse ); 15 | 16 | virtual void OnEnter(); 17 | 18 | virtual void OnLeave(); 19 | private: 20 | ActorPtr mTeaportArray[1]; 21 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_PostEffect.cpp: -------------------------------------------------------------------------------- 1 | #include "EngineDemoPCH.h" 2 | 3 | IMPLEMENT_SCENELISTENERBJECT(Demo_PostEffect) 4 | 5 | void Demo_PostEffect::OnEnter() 6 | { 7 | //mRawModel = GModelMaster.CacheResource( L"model\\toy" ); 8 | 9 | mCompositor.Create( GRenderDriver, &GArchiveMaster ); 10 | mCompositor.RegisterGeometryCallback(L"rt_input", CompositorDelegate( this, &Demo_PostEffect::OnRenderGeometry ) ); 11 | mCompositor.Open( L"material\\bloom.compositor"); 12 | 13 | GSceneMaster.Get( RTTI_TYPE_ID(Demo_CubeMap) )->OnEnter(); 14 | } 15 | 16 | void Demo_PostEffect::OnRenderGeometry( RenderCompositor* cp, RenderContext* rc ) 17 | { 18 | //RenderHelper::DrawAxisGrid( rc->GetRenderDriver()->GetRenderContext() ); 19 | 20 | /*if ( mRawModel != null ) 21 | mRawModel->Render( rc->GetRenderDriver()->GetRenderContext() );*/ 22 | 23 | GSceneMaster.Get( RTTI_TYPE_ID(Demo_CubeMap) )->OnRender( rc->GetRenderDriver()->GetRenderContext() ); 24 | } 25 | 26 | void Demo_PostEffect::OnRender( RenderContext* rc ) 27 | { 28 | 29 | mCompositor.Render( rc ); 30 | } 31 | 32 | 33 | void Demo_PostEffect::OnLeave() 34 | { 35 | GSceneMaster.Get( RTTI_TYPE_ID(Demo_CubeMap) )->OnLeave(); 36 | 37 | //SafeRelease( mRawModel ); 38 | mCompositor.Release(); 39 | } -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_PostEffect.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class Demo_PostEffect : public SceneListener 5 | { 6 | DECLARE_RTTIOBJECT(Demo_PostEffect); 7 | 8 | public: 9 | virtual void OnEnter( ); 10 | 11 | virtual void OnLeave( ); 12 | 13 | virtual void OnRender( RenderContext* rc ); 14 | void OnRenderGeometry( RenderCompositor* cp, RenderContext* rc ); 15 | private: 16 | RenderCompositor mCompositor; 17 | RawSkinModel* mRawModel; 18 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_RenderTarget.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class Demo_RenderTarget : public SceneListener 5 | { 6 | DECLARE_RTTI_CLASS(Demo_RenderTarget, SceneListener, ClassFlag_Intrinsic); 7 | 8 | public: 9 | virtual void OnEnter( ); 10 | 11 | virtual void OnLeave( ); 12 | 13 | 14 | private: 15 | ActorPtr mTeapot; 16 | ActorPtr mShark; 17 | 18 | GameWorld* mWorld1; 19 | GameWorld* mWorld2; 20 | 21 | RenderTargetableTexture2D* RTTexture; 22 | 23 | GameWindow* mWindow; 24 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Tangent.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_Tangent : public SceneListener 4 | { 5 | DECLARE_RTTI_CLASS(Demo_Tangent, SceneListener, ClassFlag_Intrinsic); 6 | 7 | public: 8 | Demo_Tangent( ); 9 | 10 | virtual void OnCreate( ); 11 | 12 | virtual void OnDestroy( ); 13 | 14 | virtual void OnUpdate( float elapse ); 15 | 16 | virtual void OnEnter(); 17 | 18 | virtual void OnLeave(); 19 | private: 20 | Actor* mModel; 21 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/Demo_Transform.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class Demo_Transform : public SceneListener 4 | { 5 | DECLARE_RTTI_CLASS(Demo_Transform, SceneListener, ClassFlag_Intrinsic); 6 | 7 | public: 8 | Demo_Transform( ); 9 | 10 | virtual ~Demo_Transform( ); 11 | 12 | virtual void OnCreate( ); 13 | 14 | virtual void OnDestroy( ); 15 | 16 | virtual void OnUpdate( float elapse ); 17 | 18 | virtual void OnEnter(); 19 | 20 | virtual void OnLeave(); 21 | 22 | private: 23 | Actor* CreateTestActor( const Color& C, Actor* Parent ); 24 | 25 | private: 26 | ActorPtr mTeapotA; 27 | ActorPtr mTeapotB; 28 | ActorPtr mTeapotC; 29 | 30 | float mRotB; 31 | float mRotC; 32 | 33 | struct TransformProfile 34 | { 35 | float mRotation; 36 | float mRotationSpeed; 37 | 38 | TransformProfile() 39 | : mRotation( 0.0f ) 40 | , mRotationSpeed( 0.001f ) 41 | { 42 | 43 | } 44 | }; 45 | 46 | void ModifyTransform( Actor* A, TransformProfile& Profile, float Elapse ); 47 | 48 | TransformProfile mTransformA; 49 | TransformProfile mTransformB; 50 | TransformProfile mTransformC; 51 | }; -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/EngineDemoPCH.cpp: -------------------------------------------------------------------------------- 1 | #include "EngineDemoPCH.h" 2 | -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/EngineDemoPCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include 4 | 5 | #ifdef _DEBUG 6 | #include "vld.h" 7 | #endif 8 | 9 | #include "NekoCore.h" 10 | #include "NekoEngine.h" 11 | #include "NekoFont.h" 12 | #include "Core/Win32Header.h" 13 | 14 | using namespace NekoEngine; 15 | 16 | //#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") 17 | -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/PCH_Scene.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "Demo_Canvas.h" 4 | #include "Demo_Model.h" 5 | #include "Demo_Material.h" 6 | #include "Demo_Persistence.h" 7 | #include "Demo_RenderTarget.h" 8 | #include "Demo_Pick.h" 9 | #include "Demo_Transform.h" 10 | #include "Demo_Font.h" 11 | 12 | -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/neko.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Samples/NekoDemo/neko.ico -------------------------------------------------------------------------------- /Development/Samples/NekoDemo/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by DemoLauncher.rc 4 | // 5 | #define IDI_ICON1 104 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 105 12 | #define _APS_NEXT_COMMAND_VALUE 40001 13 | #define _APS_NEXT_CONTROL_VALUE 1001 14 | #define _APS_NEXT_SYMED_VALUE 101 15 | #endif 16 | #endif 17 | -------------------------------------------------------------------------------- /Development/Samples/UnitTestCore/PropertyTest.cpp: -------------------------------------------------------------------------------- 1 | #include "UnitTestCorePCH.h" 2 | 3 | struct MyClass : public RTTIObject 4 | { 5 | bool Value1; 6 | Vector3 Value2; 7 | 8 | const Vector3& GetValue2( ) 9 | { 10 | return Value2; 11 | } 12 | 13 | void SetValue2( const Vector3& v ) 14 | { 15 | Value2 = v; 16 | } 17 | 18 | 19 | void OnValueChange( Vector3* Value, bool IsGet ) 20 | { 21 | if ( IsGet ) 22 | { 23 | *Value = GetValue2(); 24 | } 25 | else 26 | { 27 | SetValue2( *Value ); 28 | } 29 | 30 | } 31 | 32 | static void OnChange( MyClass* Instance, Vector3* Value, bool IsGet ) 33 | { 34 | 35 | } 36 | }; 37 | 38 | 39 | void PropertyTest( ) 40 | { 41 | MyClass b; 42 | b.Value1 = false; 43 | b.Value2 = Vector3( 4,5,6); 44 | 45 | PropertyCollection PS; 46 | PS.Add( PROPERTY_MEMBER_VAR(MyClass, bool, Value1) ); 47 | //PS.Add( CLASS_PROPERTY(MyClass,Vector3, Value2) ); 48 | 49 | 50 | PS.Add( PROPERTY_CALLBACK( MyClass, Vector3, L"Value3", &MyClass::OnChange ) ); 51 | PS.Add( PROPERTY_DELEGATE( MyClass, Vector3, L"Value2", &MyClass::OnValueChange ) ); 52 | 53 | PS.Parse( &b, L"Value3",L"a"); 54 | 55 | PS.Parse( &b, L"Value1", L"true"); 56 | 57 | PS.Set( &b, L"Value2", PROPERTY_VALUE( Vector3, Vector3(1,2,3) )); 58 | 59 | WString a; 60 | PS.ToString(&b,L"Value2", a ); 61 | 62 | Vector3 d; 63 | PS.Get(&b,L"Value2", PROPERTY_VALUE(Vector3, d )); 64 | 65 | 66 | SimpleLog log; 67 | for ( PropertyValue* MV = PS.GetFirstProperty(); 68 | MV != null; 69 | MV = PS.GetNextProperty() ) 70 | { 71 | WString str; 72 | MV->ToString( &b, str ); 73 | log.Debug(L"%s = %s", MV->GetName(), str.c_str()); 74 | } 75 | } 76 | 77 | -------------------------------------------------------------------------------- /Development/Samples/UnitTestCore/UnitTestCoreMain.cpp: -------------------------------------------------------------------------------- 1 | #include "UnitTestCorePCH.h" 2 | 3 | 4 | 5 | extern void PropertyTest( ); 6 | 7 | int WINAPI WinMain( __in HINSTANCE hInstance, __in_opt HINSTANCE hPrevInstance, __in_opt LPSTR lpCmdLine, __in int nShowCmd ) 8 | { 9 | NEKO_CORE_INIT 10 | 11 | Application::SetStartupPathByExecutable(); 12 | 13 | PropertyTest( ); 14 | 15 | return TRUE; 16 | } -------------------------------------------------------------------------------- /Development/Samples/UnitTestCore/UnitTestCorePCH.cpp: -------------------------------------------------------------------------------- 1 | #include "UnitTestCorePCH.h" 2 | -------------------------------------------------------------------------------- /Development/Samples/UnitTestCore/UnitTestCorePCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #ifdef _DEBUG 4 | #include "vld.h" 5 | #endif 6 | 7 | #include "NekoCore.h" 8 | #include "Core/Win32Header.h" 9 | 10 | using namespace NekoEngine; 11 | 12 | -------------------------------------------------------------------------------- /Development/Tools/Editor/Hierarchy.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | partial class Hierarchy 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // Hierarchy 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(292, 266); 38 | this.HideOnClose = true; 39 | this.Name = "Hierarchy"; 40 | this.TabText = "Hierarchy"; 41 | this.Text = "Hierarchy"; 42 | this.ResumeLayout(false); 43 | 44 | } 45 | 46 | #endregion 47 | } 48 | } -------------------------------------------------------------------------------- /Development/Tools/Editor/Hierarchy.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | using WeifenLuo.WinFormsUI.Docking; 10 | 11 | namespace Editor 12 | { 13 | public partial class Hierarchy : DockContent 14 | { 15 | public Hierarchy() 16 | { 17 | InitializeComponent(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Development/Tools/Editor/PreviewWindow.Designer.cs: -------------------------------------------------------------------------------- 1 | namespace Editor 2 | { 3 | partial class PreviewWindow 4 | { 5 | /// 6 | /// Required designer variable. 7 | /// 8 | private System.ComponentModel.IContainer components = null; 9 | 10 | /// 11 | /// Clean up any resources being used. 12 | /// 13 | /// true if managed resources should be disposed; otherwise, false. 14 | protected override void Dispose(bool disposing) 15 | { 16 | if (disposing && (components != null)) 17 | { 18 | components.Dispose(); 19 | } 20 | base.Dispose(disposing); 21 | } 22 | 23 | #region Windows Form Designer generated code 24 | 25 | /// 26 | /// Required method for Designer support - do not modify 27 | /// the contents of this method with the code editor. 28 | /// 29 | private void InitializeComponent() 30 | { 31 | this.SuspendLayout(); 32 | // 33 | // PreviewWindow 34 | // 35 | this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F); 36 | this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; 37 | this.ClientSize = new System.Drawing.Size(292, 266); 38 | this.HideOnClose = true; 39 | this.Name = "PreviewWindow"; 40 | this.TabText = "PreviewWindow"; 41 | this.Text = "PreviewWindow"; 42 | this.ResumeLayout(false); 43 | 44 | } 45 | 46 | #endregion 47 | } 48 | } -------------------------------------------------------------------------------- /Development/Tools/Editor/PreviewWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | using WeifenLuo.WinFormsUI.Docking; 10 | 11 | namespace Editor 12 | { 13 | public partial class PreviewWindow : DockContent 14 | { 15 | public PreviewWindow() 16 | { 17 | InitializeComponent(); 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Development/Tools/Editor/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Windows.Forms; 5 | using System.IO; 6 | 7 | namespace Editor 8 | { 9 | static class Program 10 | { 11 | /// 12 | /// The main entry point for the application. 13 | /// 14 | [STAThread] 15 | static void Main() 16 | { 17 | Application.EnableVisualStyles(); 18 | Application.SetCompatibleTextRenderingDefault(false); 19 | 20 | 21 | //Directory.SetCurrentDirectory( @"..\..\..\..\..\bin"); 22 | //String Dir = Directory.GetCurrentDirectory(); 23 | 24 | bool ImmdiateMode = true; 25 | 26 | if ( ImmdiateMode ) 27 | { 28 | using (MainFrame frame = new MainFrame()) 29 | { 30 | frame.Show(); 31 | 32 | while (frame.Created) 33 | { 34 | frame.Application_Idle(null, null); 35 | Application.DoEvents(); 36 | } 37 | } 38 | } 39 | else 40 | { 41 | MainFrame frame = new MainFrame(); 42 | Application.Idle += new EventHandler(frame.Application_Idle); 43 | Application.Run(frame); 44 | } 45 | 46 | 47 | 48 | 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /Development/Tools/Editor/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Editor")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Editor")] 13 | [assembly: AssemblyCopyright("Copyright © 2010")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("7047ae0a-f1e6-48c4-8adf-ad79e9918982")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /Development/Tools/Editor/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.3603 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace Editor.Properties 12 | { 13 | 14 | 15 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 16 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] 17 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase 18 | { 19 | 20 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 21 | 22 | public static Settings Default 23 | { 24 | get 25 | { 26 | return defaultInstance; 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /Development/Tools/Editor/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Development/Tools/Editor/PropertyWindow.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.ComponentModel; 4 | using System.Data; 5 | using System.Drawing; 6 | using System.Linq; 7 | using System.Text; 8 | using System.Windows.Forms; 9 | using WeifenLuo.WinFormsUI.Docking; 10 | using System.Diagnostics; 11 | using Wrapper; 12 | 13 | namespace Editor 14 | { 15 | public partial class PropertyWindow : DockContent 16 | { 17 | Actor mA; 18 | public PropertyWindow( ) 19 | { 20 | InitializeComponent(); 21 | } 22 | 23 | private void Property_Load(object sender, EventArgs e) 24 | { 25 | 26 | } 27 | 28 | public void Initialize( ) 29 | { 30 | mA = GameEngine.Instance().CreateActor(); 31 | propertyGrid1.SelectedObject = ReflectorManager.Instance().GetPropertyObject( mA ); 32 | } 33 | 34 | //private void PropertyWindow_Resize(object sender, EventArgs e) 35 | //{ 36 | 37 | //} 38 | 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /Development/Tools/Editor/WeifenLuo.WinFormsUI.Docking.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/Editor/WeifenLuo.WinFormsUI.Docking.dll -------------------------------------------------------------------------------- /Development/Tools/EditorCore/EditorCorePCH.cpp: -------------------------------------------------------------------------------- 1 | #include "EditorCorePCH.h" -------------------------------------------------------------------------------- /Development/Tools/EditorCore/EditorCorePCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "NekoCore.h" 4 | #include "NekoEngine.h" 5 | 6 | using namespace NekoEngine; 7 | 8 | 9 | 10 | #include -------------------------------------------------------------------------------- /Development/Tools/EditorCore/EditorCorePrivateInclude.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | #include "EditorCoreInclude.h" 5 | 6 | 7 | #include "Editor.h" 8 | #include "Gizmo.h" 9 | #include "EditorActor.h" 10 | #include "CmdObject.h" -------------------------------------------------------------------------------- /Development/Tools/EditorQt/CommandManager.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/CommandManager.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/CommandManager.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class CmdBase 4 | { 5 | public: 6 | virtual ~CmdBase( ){ } 7 | virtual void Execute( ) = 0; 8 | 9 | virtual void OnHistoryChanged( ){} 10 | 11 | virtual WString GetDescription( ){ return L""; } 12 | }; 13 | 14 | typedef std::vector CommandArray; 15 | 16 | 17 | class CmdCollection : public CmdBase 18 | { 19 | public: 20 | CmdCollection( const WString& Description ); 21 | 22 | virtual ~CmdCollection( ); 23 | 24 | void Add( CmdBase* Cmd ); 25 | 26 | virtual void Execute( ); 27 | 28 | virtual void OnHistoryChanged( ); 29 | 30 | bool IsEmpty( ){ return mBuffer.size() == 0; } 31 | 32 | private: 33 | CommandArray mBuffer; 34 | WString mDescription; 35 | }; 36 | 37 | class CommandManager 38 | { 39 | public: 40 | CommandManager(); 41 | 42 | ~CommandManager( ); 43 | 44 | void Add( CmdBase* Cmd ); 45 | 46 | void Clear( ); 47 | 48 | void Redo( ); 49 | 50 | void Undo( ); 51 | 52 | bool CanUndo( ){ return mCurrentIndex > 0; } 53 | 54 | bool CanRedo( ){ return mCurrentIndex < mBuffer.size();} 55 | 56 | void BeginCollection( const WString& Description ); 57 | 58 | CmdCollection* EndCollection( bool IsAdd = false , bool Ignore = false); 59 | 60 | private: 61 | 62 | CommandArray mBuffer; 63 | dword mCurrentIndex; 64 | 65 | bool mCollectionMode; 66 | 67 | typedef std::vector CmdCollectionArray; 68 | CmdCollectionArray mCollections; 69 | }; 70 | 71 | extern CommandManager* GCommandManager; -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorActor.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/EditorActor.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorActor.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | class ActorFactoryEditor : public ActorFactory 5 | { 6 | DECLARE_RTTI_CLASS( ActorFactoryEditor, ActorFactory, ClassFlag_Intrinsic ) 7 | 8 | public: 9 | virtual Actor* CreateActor( const WString& Name, void* Parameter ); 10 | }; 11 | 12 | 13 | class EditorDrawUtilityComponent : public GeometryComponent 14 | { 15 | DECLARE_RTTI_CLASS( EditorDrawUtilityComponent, GeometryComponent, ClassFlag_Intrinsic ) 16 | public: 17 | EditorDrawUtilityComponent( ); 18 | 19 | virtual void Draw( SceneView* RV ); 20 | }; -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorDefines.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | enum eAdjustAxis 4 | { 5 | AAxis_None = 0x00000000, 6 | AAxis_X = 0x00000001, 7 | AAxis_Y = 0x00000010, 8 | AAxis_XY = 0x00000011, 9 | AAxis_Z = 0x00000100, 10 | AAxis_XZ = 0x00000101, 11 | AAxis_YZ = 0x00000110, 12 | AScaleMask = 0x00001000, 13 | AAxisBox_X = 0x00001001, 14 | AAxisBox_Y = 0x00001010, 15 | ATriangle_XY = 0x00001011, 16 | AAxisBox_Z = 0x00001100, 17 | ATriangle_XZ = 0x00001101, 18 | ATriangle_YZ = 0x00001110, 19 | ATriBox_XYZ = 0x00001111, 20 | ARotateMask = 0x00010000, 21 | ARing_X = 0x00011001, 22 | ARing_Y = 0x00011010, 23 | ARing_XY = 0x00011011, 24 | ARing_Z = 0x00011100, 25 | ARing_XZ = 0x00011101, 26 | ARing_YZ = 0x00011110, 27 | Adust_Max, 28 | }; 29 | 30 | 31 | enum eECAdjustMode 32 | { 33 | AdjustMode_None, 34 | AdjustMode_Position, 35 | AdjustMode_Scale, 36 | AdjustMode_Rotation, 37 | }; 38 | 39 | enum eECAdjustSpace 40 | { 41 | AdjustSpace_Local, 42 | AdjustSpace_World, 43 | }; 44 | 45 | 46 | 47 | 48 | typedef std::vector SelectedActorArray; 49 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/EditorObject.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorPCH.cpp: -------------------------------------------------------------------------------- 1 | #include "EditorPCH.h" -------------------------------------------------------------------------------- /Development/Tools/EditorQt/EditorPCH.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #include 15 | #include 16 | 17 | #include "NekoCore.h" 18 | #include "NekoEngine.h" 19 | 20 | using namespace NekoEngine; 21 | 22 | 23 | #include "qtpropertymanager.h" 24 | #include "qteditorfactory.h" 25 | #include "qttreepropertybrowser.h" 26 | #include "qtbuttonpropertybrowser.h" 27 | #include "qtgroupboxpropertybrowser.h"//*/ 28 | #include "qtvariantproperty.h" 29 | 30 | #include "EditorDefines.h" 31 | #include "CommandManager.h" 32 | #include "ReflectionObject.h" 33 | #include "EditorObject.h" 34 | #include "ObjectModifier.h" 35 | #include "Gizmo.h" 36 | #include "EditorActor.h" 37 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/GeneratedFiles/qrc_editorqt.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** Resource object code 3 | ** 4 | ** Created: Sat Oct 22 19:41:23 2011 5 | ** by: The Resource Compiler for Qt version 4.7.0 6 | ** 7 | ** WARNING! All changes made in this file will be lost! 8 | *****************************************************************************/ 9 | 10 | #include 11 | 12 | QT_BEGIN_NAMESPACE 13 | 14 | QT_END_NAMESPACE 15 | 16 | 17 | int QT_MANGLE_NAMESPACE(qInitResources_editorqt)() 18 | { 19 | return 1; 20 | } 21 | 22 | Q_CONSTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qInitResources_editorqt)) 23 | 24 | int QT_MANGLE_NAMESPACE(qCleanupResources_editorqt)() 25 | { 26 | return 1; 27 | } 28 | 29 | Q_DESTRUCTOR_FUNCTION(QT_MANGLE_NAMESPACE(qCleanupResources_editorqt)) 30 | 31 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/GeneratedFiles/ui_MaterialPanel.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'MaterialPanel.ui' 3 | ** 4 | ** Created: Sat Oct 22 19:41:22 2011 5 | ** by: Qt User Interface Compiler version 4.7.0 6 | ** 7 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 8 | ********************************************************************************/ 9 | 10 | #ifndef UI_MATERIALPANEL_H 11 | #define UI_MATERIALPANEL_H 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | QT_BEGIN_NAMESPACE 21 | 22 | class Ui_MaterialPanel 23 | { 24 | public: 25 | 26 | void setupUi(QWidget *MaterialPanel) 27 | { 28 | if (MaterialPanel->objectName().isEmpty()) 29 | MaterialPanel->setObjectName(QString::fromUtf8("MaterialPanel")); 30 | MaterialPanel->resize(523, 400); 31 | 32 | retranslateUi(MaterialPanel); 33 | 34 | QMetaObject::connectSlotsByName(MaterialPanel); 35 | } // setupUi 36 | 37 | void retranslateUi(QWidget *MaterialPanel) 38 | { 39 | MaterialPanel->setWindowTitle(QApplication::translate("MaterialPanel", "Material", 0, QApplication::UnicodeUTF8)); 40 | } // retranslateUi 41 | 42 | }; 43 | 44 | namespace Ui { 45 | class MaterialPanel: public Ui_MaterialPanel {}; 46 | } // namespace Ui 47 | 48 | QT_END_NAMESPACE 49 | 50 | #endif // UI_MATERIALPANEL_H 51 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/GeneratedFiles/ui_MaterialView.h: -------------------------------------------------------------------------------- 1 | /******************************************************************************** 2 | ** Form generated from reading UI file 'MaterialView.ui' 3 | ** 4 | ** Created: Tue Oct 4 18:26:23 2011 5 | ** by: Qt User Interface Compiler version 4.7.0 6 | ** 7 | ** WARNING! All changes made in this file will be lost when recompiling UI file! 8 | ********************************************************************************/ 9 | 10 | #ifndef UI_MATERIALVIEW_H 11 | #define UI_MATERIALVIEW_H 12 | 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | 20 | QT_BEGIN_NAMESPACE 21 | 22 | class Ui_MaterialView 23 | { 24 | public: 25 | 26 | void setupUi(QWidget *MaterialView) 27 | { 28 | if (MaterialView->objectName().isEmpty()) 29 | MaterialView->setObjectName(QString::fromUtf8("MaterialView")); 30 | MaterialView->resize(523, 400); 31 | 32 | retranslateUi(MaterialView); 33 | 34 | QMetaObject::connectSlotsByName(MaterialView); 35 | } // setupUi 36 | 37 | void retranslateUi(QWidget *MaterialView) 38 | { 39 | MaterialView->setWindowTitle(QApplication::translate("MaterialView", "Material", 0, QApplication::UnicodeUTF8)); 40 | } // retranslateUi 41 | 42 | }; 43 | 44 | namespace Ui { 45 | class MaterialView: public Ui_MaterialView {}; 46 | } // namespace Ui 47 | 48 | QT_END_NAMESPACE 49 | 50 | #endif // UI_MATERIALVIEW_H 51 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/Gizmo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/Gizmo.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/Gizmo.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | // AxisZ(Blue) 4 | // ^ 5 | // | 6 | // |---- ScaleXZ 7 | // | | 8 | // -------> AxisX(Red) 9 | // / 10 | // / 11 | // AxisY(Green) 12 | 13 | 14 | 15 | class ActorFactoryGizmo: public ActorFactory 16 | { 17 | DECLARE_RTTI_CLASS( ActorFactoryGizmo, ActorFactory, ClassFlag_Intrinsic ) 18 | 19 | public: 20 | ActorFactoryGizmo( ); 21 | 22 | virtual ~ActorFactoryGizmo( ); 23 | virtual Actor* CreateActor( const WString& Name, void* Parameter ); 24 | 25 | Actor* GetGizmoPart( eAdjustAxis Part ); 26 | 27 | void SetAdjustMode( eECAdjustMode Mode ); 28 | 29 | void SetHighLightGizmoPart( eAdjustAxis Part, bool IsHightLight ); 30 | 31 | eAdjustAxis CheckGizmoPart( Actor* A ); 32 | 33 | Actor* CreatePart( const wchar* Name, eAdjustAxis Part, Actor* Parent ); 34 | private: 35 | void PrepareMaterial( ); 36 | 37 | MaterialInstance* GetMaterialByPart( eAdjustAxis Part, bool IsHighLight ); 38 | 39 | MaterialInstancePtr GenerateMaterial( const wchar* MaterialName, MaterialDescriptor* Mat, const Color& C ); 40 | 41 | private: 42 | typedef std::map GizmoActorMap; 43 | GizmoActorMap mGizmoActorMap; 44 | 45 | MaterialDescriptorPtr mConstantColorMat; 46 | 47 | MaterialInstancePtr mMIRed; 48 | MaterialInstancePtr mMIGreen; 49 | MaterialInstancePtr mMIBlue; 50 | MaterialInstancePtr mMIYellow; 51 | 52 | MaterialInstancePtr mMIRedHL; 53 | MaterialInstancePtr mMIGreenHL; 54 | MaterialInstancePtr mMIBlueHL; 55 | MaterialInstancePtr mMIYellowHL; 56 | }; 57 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/HierarchyPanel.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | HierarchyPanel 4 | 5 | 6 | 7 | 0 8 | 0 9 | 319 10 | 494 11 | 12 | 13 | 14 | false 15 | 16 | 17 | Hierarchy 18 | 19 | 20 | 21 | 2 22 | 23 | 24 | 2 25 | 26 | 27 | 2 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/MaterialPanel.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | MaterialPanel 4 | 5 | 6 | 7 | 0 8 | 0 9 | 523 10 | 400 11 | 12 | 13 | 14 | Material 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/ObjectModifier.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/ObjectModifier.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/ObjectModifier.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/ObjectModifier.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/PrivateInclude.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | 5 | static const char* cDragDropType_ProjectSpawn = "project.spawn"; 6 | 7 | static const char* cDragDropType_AdjustParent = "hierarchy.adjustparent"; 8 | 9 | static const char* cDragDropType_MaterialSpawn = "material.spawn"; 10 | 11 | 12 | 13 | 14 | 15 | // UI 16 | #include "QProjectPanel.h" 17 | #include "QRenderPanel.h" 18 | #include "QPreviewPanel.h" 19 | #include "QScenePanel.h" 20 | #include "QHierarchyPanel.h" 21 | 22 | 23 | #include "QMaterialElement.h" 24 | #include "QMaterialPanel.h" 25 | #include "QMaterialScene.h" 26 | 27 | #include "QEditorFrame.h" 28 | #include "QExtendProperty.h" 29 | #include "QTypeMapper.h" 30 | #include "QPropertyGrid.h" 31 | #include "QCmdObject.h" 32 | 33 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/ProjectPanel.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | ProjectPanel 4 | 5 | 6 | 7 | 0 8 | 0 9 | 277 10 | 639 11 | 12 | 13 | 14 | Project 15 | 16 | 17 | 18 | 2 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QCmdObject.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QCmdObject.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QCmdObject.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QCmdObject.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QEditorFrame.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QEditorFrame.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QHierarchyPanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QHierarchyPanel.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QHierarchyPanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QHierarchyPanel.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialElement.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialElement.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialElement.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialElement.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialPanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialPanel.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialPanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialPanel.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialScene.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialScene.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QMaterialScene.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QMaterialScene.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QPreviewPanel.cpp: -------------------------------------------------------------------------------- 1 | #include "EditorPCH.h" 2 | #include "PrivateInclude.h" 3 | 4 | 5 | QPreviewPanel::QPreviewPanel( QWidget* Parent /*= NULL */ ) 6 | : QRenderPanel( Parent ) 7 | { 8 | setWindowTitle(QString("Preview")); 9 | 10 | } 11 | 12 | QPreviewPanel::~QPreviewPanel() 13 | { 14 | 15 | } 16 | 17 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QPreviewPanel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "QRenderPanel.h" 4 | 5 | class QPreviewPanel : public QRenderPanel 6 | { 7 | Q_OBJECT 8 | public: 9 | QPreviewPanel( QWidget* Parent = NULL ); 10 | 11 | virtual ~QPreviewPanel(); 12 | 13 | 14 | protected: 15 | 16 | 17 | public Q_SLOTS: 18 | 19 | 20 | private: 21 | 22 | }; -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QProjectPanel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "ui_ProjectPanel.h" 4 | 5 | 6 | class QProjectPanel : public QWidget 7 | { 8 | Q_OBJECT 9 | public: 10 | QProjectPanel( QWidget* parent ); 11 | 12 | virtual ~QProjectPanel( ); 13 | 14 | virtual handle OnIterateFileNode( handle Parent, const wchar* Name, const wchar* FullPathName ); 15 | 16 | void RefreshNode( ); 17 | 18 | bool GetResourceNameFromItem( QTreeWidgetItem* Item, WString& ResourceName, eResourceType& RT ); 19 | 20 | void ScanDirectory( const wchar* PathName, handle Parent ); 21 | 22 | private Q_SLOTS: 23 | void OnItemClicked( QTreeWidgetItem * item, int column ); 24 | 25 | 26 | private: 27 | Ui::ProjectPanel ui; 28 | typedef QMap ItemToStringMap; 29 | ItemToStringMap mItemToStringMap; 30 | 31 | QTreeWidget* mFileTree; 32 | }; 33 | 34 | 35 | class QFileTree : public QTreeWidget 36 | { 37 | public: 38 | explicit QFileTree(QProjectPanel *parent = 0); 39 | 40 | 41 | protected: 42 | virtual void mousePressEvent(QMouseEvent *evt); 43 | 44 | QProjectPanel* mParent; 45 | }; -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QPropertyGrid.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QPropertyGrid.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QPropertyGrid.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QPropertyGrid.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QRenderPanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QRenderPanel.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QRenderPanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QRenderPanel.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QScenePanel.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QScenePanel.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QScenePanel.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QScenePanel.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QTypeMapper.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QTypeMapper.cpp -------------------------------------------------------------------------------- /Development/Tools/EditorQt/QTypeMapper.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/EditorQt/QTypeMapper.h -------------------------------------------------------------------------------- /Development/Tools/EditorQt/ReflectionObject.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class ReflectionObject 4 | { 5 | public: 6 | enum{ 7 | InvalidGroupID = -1 8 | }; 9 | 10 | virtual dword GetFirstGroup( ) = 0; 11 | 12 | virtual dword GetNextGroup( ) = 0; 13 | 14 | virtual PropertyValue* GetFirstProperty( dword GroupIndex ) = 0; 15 | 16 | virtual PropertyValue* GetNextProperty( dword GroupIndex ) = 0; 17 | 18 | virtual RTTIObject* GetGroupMappedInstance( dword GroupIndex ) = 0; 19 | 20 | virtual const wchar* GetGroupName( dword GroupIndex ) = 0; 21 | }; -------------------------------------------------------------------------------- /Development/Tools/EditorQt/editorqt.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Development/Tools/EditorQt/main.cpp: -------------------------------------------------------------------------------- 1 | #include "EditorPCH.h" 2 | #include "PrivateInclude.h" 3 | 4 | 5 | int main(int argc, char *argv[]) 6 | { 7 | NEKO_CORE_INIT 8 | NEKO_ENGINE_INIT 9 | 10 | QApplication a(argc, argv); 11 | 12 | QDir::setCurrent( QApplication::applicationDirPath() ); 13 | 14 | QEditorFrame frame; 15 | 16 | frame.Initialize(); 17 | 18 | int ret = a.exec(); 19 | 20 | frame.Finalize( ); 21 | 22 | return ret; 23 | } 24 | -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/FrameAnimationBuilder.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/FrameAnimationBuilder/FrameAnimationBuilder.cs -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace FrameAnimationBuilder 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new FrameAnimationBuilder()); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("FrameAnimationBuilder")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("ourgame")] 12 | [assembly: AssemblyProduct("FrameAnimationBuilder")] 13 | [assembly: AssemblyCopyright("Copyright © ourgame 2009")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("f02dec20-d1ab-4e3d-bb7f-23bf7d82be79")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:2.0.50727.3053 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace FrameAnimationBuilder.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Development/Tools/FrameAnimationBuilder/Properties/app.manifest: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /Development/Tools/NExportor/ExportPCH.cpp: -------------------------------------------------------------------------------- 1 | // stdafx.cpp : source file that includes just the standard includes 2 | // NexusExporter.pch will be the pre-compiled header 3 | // stdafx.obj will contain the pre-compiled type information 4 | 5 | #include "ExportPCH.h" 6 | 7 | // TODO: reference any additional headers you need in STDAFX.H 8 | // and not in this file 9 | -------------------------------------------------------------------------------- /Development/Tools/NExportor/ExportPCH.h: -------------------------------------------------------------------------------- 1 | // stdafx.h : include file for standard system include files, 2 | // or project specific include files that are used frequently, but 3 | // are changed infrequently 4 | // 5 | 6 | #pragma once 7 | 8 | #pragma warning( disable : 4819 ) 9 | #pragma warning( disable : 4996 ) 10 | #pragma warning( disable : 4310 ) 11 | 12 | #include 13 | #include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | #include 21 | #include 22 | #include 23 | #include 24 | #include 25 | 26 | using namespace std; 27 | 28 | //#pragma comment( lib, "comctl32" ) 29 | //#pragma comment( lib, "core" ) 30 | //#pragma comment( lib, "geom" ) 31 | //#pragma comment( lib, "mesh" ) 32 | //#pragma comment( lib, "mnmath" ) 33 | //#pragma comment( lib, "maxutil" ) 34 | //#pragma comment( lib, "maxscrpt" ) 35 | //#pragma comment( lib, "paramblk2" ) 36 | 37 | 38 | #include "NekoCore.h" 39 | #include "NekoCore_Basic.h" 40 | #define USE_NULLRHI 41 | #include "NekoInput.h" 42 | #include "NekoEngine_Model.h" 43 | 44 | 45 | 46 | 47 | // TODO: reference additional headers your program requires here 48 | -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxCollector.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/MaxCollector.cpp -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxCollector.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //---------------------------------------------------------------------------- 4 | // MaxInterface 5 | //---------------------------------------------------------------------------- 6 | 7 | 8 | class MaxCollector 9 | { 10 | public: 11 | class MaxModel* mMaxModel; 12 | class MaxSkeleton* mMaxSkeleton; 13 | class MaxSkeletonAnimation* mMaxSkeletonAnimation; 14 | class MaxMaterial* mMaxMaterial; 15 | 16 | bool mExportSelected; 17 | 18 | MaxCollector( ); 19 | 20 | virtual ~MaxCollector( ); 21 | 22 | void CollectData( bool ExportSelected ); 23 | void Clear( ); 24 | 25 | 26 | static void StaticInit( ); 27 | static void StaticExit( ); 28 | 29 | private: 30 | void ParseNode( INode* node ); 31 | }; 32 | 33 | inline NekoEngine::Vector3 Conv( const Point3& v ) 34 | { 35 | return NekoEngine::Vector3( v.x, v.y, v.z ); 36 | } 37 | 38 | inline NekoEngine::Quaternion Conv( const Quat& v ) 39 | { 40 | return NekoEngine::Quaternion( v.x, v.y, v.z, v.w ); 41 | } 42 | 43 | extern MaxCollector* GMaxCollector; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxDialogExport.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/MaxDialogExport.cpp -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxDialogExport.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/MaxDialogExport.h -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxExporter.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | extern Interface* GMaxInterface; 5 | extern HINSTANCE GInstance; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxMarker.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //---------------------------------------------------------------------------- 4 | // MaxBone 5 | //---------------------------------------------------------------------------- 6 | 7 | class MaxMarker : public MaxObject 8 | { 9 | public: 10 | INode* mNode; 11 | 12 | MaxMarker( INode* node ); 13 | 14 | virtual void Serialize( ); 15 | }; 16 | 17 | typedef vector< MaxMarker* > MarkerArray; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxMaterial.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/MaxMaterial.cpp -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxMaterial.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //---------------------------------------------------------------------------- 4 | // MaxMaterial 5 | //---------------------------------------------------------------------------- 6 | 7 | class MaxMaterial 8 | { 9 | public: 10 | StdMat* mMaterial; 11 | 12 | MaxMaterial( ); 13 | 14 | MaxMaterial( Mtl* material, int mtlid ); 15 | 16 | bool Save( const wchar_t* Filename ); 17 | 18 | DWORD CollectTexture( Mesh* MMesh, MaxMaterial* GlobalMaxMaterial ); 19 | 20 | 21 | int GetTextureNumber( Mesh* mesh ); 22 | Texmap* GetTextureMap( int index, Mesh* mesh ); 23 | 24 | virtual char* GetName( ); 25 | 26 | DWORD AddTextureWithDefaultMaterial( const wchar_t* name ); 27 | 28 | 29 | NekoEngine::MaterialInstance mMaterialInstance; 30 | }; 31 | 32 | typedef vector< MaxMaterial* > MaterialArray; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxMesh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/MaxMesh.cpp -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxModel.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | class MaxModel 4 | { 5 | public: 6 | MaxModel( ); 7 | virtual ~MaxModel( ); 8 | 9 | DWORD GetMeshCount( ); 10 | 11 | bool Save( const wchar_t* FileName, VertexExportOption& veo ); 12 | 13 | void AddMesh( INode* Node, int Index ); 14 | 15 | private: 16 | friend class MaxInterface; 17 | 18 | SkinArray mMeshArray; 19 | 20 | MaterialArray mMaterialArray; 21 | }; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxNode.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //---------------------------------------------------------------------------- 4 | // MaxNode 5 | //---------------------------------------------------------------------------- 6 | 7 | class MaxNode 8 | { 9 | public: 10 | INode* mNode; 11 | 12 | MaxNode( INode* node ); 13 | 14 | char* GetName( ); 15 | char* GetGroupName( ); 16 | char* GetParentName( ); 17 | bool IsLight( ); 18 | bool IsBone( ); 19 | bool IsDummy( ); 20 | bool IsMesh( ); 21 | bool IsRoot( ); 22 | 23 | Matrix3 GetTransform( INode* node, int tick, bool noscale ); 24 | Matrix3 GetTransform( int tick = 0, bool noscale = false ); 25 | Matrix3 GetRelativeTransform( int tick = 0, bool noscale = false ); 26 | bool IsVisible( ); 27 | bool IsSelected( ); 28 | }; 29 | 30 | 31 | class MaxObject 32 | { 33 | public: 34 | 35 | }; -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxNullRHI.cpp: -------------------------------------------------------------------------------- 1 | #include "ExportPCH.h" 2 | #include "PluginInclude.h" 3 | 4 | namespace NekoEngine 5 | { 6 | IRenderHardware* RHI = null; 7 | RenderStatus GRenderStatus; 8 | 9 | void RHIInitialize( ) 10 | { 11 | 12 | } 13 | 14 | void RHIFinalize( ) 15 | { 16 | 17 | } 18 | 19 | IInputDriver* CreateDInput( ) 20 | { 21 | return null; 22 | } 23 | 24 | bool DDSCodec_Load( const wchar* FileName, NekoEngine::TextureMipMap& MipData, DDSTextureParameter& Parameter ) 25 | { 26 | return false; 27 | } 28 | 29 | bool DDSCodec_Load( DataStream* Stream, NekoEngine::TextureMipMap& MipData, DDSTextureParameter& Parameter ) 30 | { 31 | return false; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxSkeleton.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | //---------------------------------------------------------------------------- 4 | // MaxSkeleton 5 | //---------------------------------------------------------------------------- 6 | 7 | class MaxSkeleton; 8 | struct SkeletonAnimTrack; 9 | 10 | class MaxBone 11 | { 12 | public: 13 | typedef vector< int > ChildArray; 14 | 15 | MaxSkeleton* mSkeleton; 16 | INode* mNode; 17 | int mParentID; 18 | ChildArray mChildArray; 19 | NekoEngine::SkeletonAnimTrack* mTrack; 20 | 21 | MaxBone( MaxSkeleton* skeleton, INode* node, int parentid ); 22 | 23 | void AddChild( int childid ); 24 | 25 | virtual char* GetName( ); 26 | 27 | void Serialize(NekoEngine::BoneContent* Bone ); 28 | 29 | Matrix3 GetRelativeTransform( TimeValue t ); 30 | }; 31 | 32 | typedef vector< MaxBone* > BoneArray; 33 | 34 | class MaxSkeleton : public MaxObject 35 | { 36 | public: 37 | MaxSkeleton( ); 38 | 39 | virtual ~MaxSkeleton( ); 40 | 41 | void Serialize( NekoEngine::SkeletonMeshResource* Skin ); 42 | 43 | int GetBoneNumber( ){ return mBoneArray.size();} 44 | 45 | private: 46 | friend class MaxMesh; 47 | friend class MaxCollector; 48 | void AddBone( INode* node, int parentid ); 49 | int GetBoneID( const char* bonename ); 50 | char* GetBoneName( int boneid ); 51 | 52 | 53 | private: 54 | friend class MaxSkeletonAnimation; 55 | friend class MaxModel; 56 | BoneArray mBoneArray; 57 | }; 58 | 59 | -------------------------------------------------------------------------------- /Development/Tools/NExportor/MaxSkeletonAnimation.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | 4 | //---------------------------------------------------------------------------- 5 | // MaxSkeletonAnimation 6 | //---------------------------------------------------------------------------- 7 | 8 | struct SkeletonAnimationExportOption 9 | { 10 | bool mUseSampling; 11 | 12 | float mSamplingRate; 13 | 14 | SkeletonAnimationExportOption( ) 15 | : mUseSampling( true ) 16 | , mSamplingRate( 0.1f ) 17 | { 18 | 19 | } 20 | }; 21 | 22 | class MaxSkeletonAnimation 23 | { 24 | public: 25 | MaxSkeleton* mSkeleton; 26 | 27 | NekoEngine::SkeletonAnimResource mSkeletonAnimationResource; 28 | 29 | MaxSkeletonAnimation( MaxSkeleton* skeleton ); 30 | ~MaxSkeletonAnimation( ); 31 | 32 | bool Save( const wchar_t* FileName ); 33 | 34 | void BuildTrackBySampling( float SamplingRate); 35 | 36 | void BuildTrackByKeyFrame( ); 37 | 38 | private: 39 | bool IsKeyframe( INode* node, int tick ); 40 | 41 | 42 | 43 | }; -------------------------------------------------------------------------------- /Development/Tools/NExportor/NExporter.aps: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Development/Tools/NExportor/NExporter.aps -------------------------------------------------------------------------------- /Development/Tools/NExportor/PluginInclude.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "MaxExporter.h" 4 | #include "MaxCollector.h" 5 | #include "MaxNode.h" 6 | #include "MaxMaterial.h" 7 | #include "MaxSkeleton.h" 8 | #include "MaxMesh.h" 9 | #include "MaxSkeletonAnimation.h" 10 | #include "MaxModel.h" 11 | #include "MaxMarker.h" 12 | #include "MaxDialogExport.h" -------------------------------------------------------------------------------- /Development/Tools/NExportor/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by NExporter.rc 4 | // 5 | #define IDD_EXPORTOPTION 103 6 | #define IDD_QUERYNAME 104 7 | #define IDC_BROWSER_FOLDER 1003 8 | #define IDC_OUTPUTFOLDER 1004 9 | #define IDC_RESOURCENAME 1005 10 | #define IDC_EXPORT 1007 11 | #define IDC_SETRESOURCENAME 1009 12 | #define IDC_QUERYNAME_CANCEL 1010 13 | #define IDC_QUERYNAME_OK 1011 14 | #define IDC_CHECK1 1011 15 | #define IDC_EXPORTSELECTED 1011 16 | #define IDC_TEXT 1012 17 | #define IDC_CHK_MESH 1013 18 | #define IDC_CHK_SKIN 1014 19 | #define IDC_CHK_SKELETON_MESH 1014 20 | #define IDC_CHK_ANIM 1015 21 | #define IDC_CHK_MAT 1016 22 | #define IDC_NAMEREPLACE 1017 23 | 24 | // Next default values for new objects 25 | // 26 | #ifdef APSTUDIO_INVOKED 27 | #ifndef APSTUDIO_READONLY_SYMBOLS 28 | #define _APS_NEXT_RESOURCE_VALUE 101 29 | #define _APS_NEXT_COMMAND_VALUE 40001 30 | #define _APS_NEXT_CONTROL_VALUE 1012 31 | #define _APS_NEXT_SYMED_VALUE 101 32 | #endif 33 | #endif 34 | -------------------------------------------------------------------------------- /Engine.lnk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/Engine.lnk -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NexusProject 2 | C++的一套3D引擎及编辑器 3 | 4 | 特性: 5 | 6 | * 统一的C++序列化系统 7 | 8 | * Direct3D9的多线程渲染 9 | 10 | * 材质合成系统 11 | 12 | * 基于Qt4的所见即所得编辑器 13 | 14 | 15 | 16 | # 注意 17 | 18 | 本工程只做个人备份用 -------------------------------------------------------------------------------- /TestAssert/2dtest.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/2dtest.max -------------------------------------------------------------------------------- /TestAssert/GizmoAxis.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/GizmoAxis.max -------------------------------------------------------------------------------- /TestAssert/SkinTest.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/SkinTest.max -------------------------------------------------------------------------------- /TestAssert/default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/default.png -------------------------------------------------------------------------------- /TestAssert/nekoicon.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/nekoicon.psd -------------------------------------------------------------------------------- /TestAssert/shark.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/shark.max -------------------------------------------------------------------------------- /TestAssert/shark.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/shark.tga -------------------------------------------------------------------------------- /TestAssert/shark_hurt.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/shark_hurt.tga -------------------------------------------------------------------------------- /TestAssert/shark_hurt_heavy.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/shark_hurt_heavy.tga -------------------------------------------------------------------------------- /TestAssert/teapot.max: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/teapot.max -------------------------------------------------------------------------------- /TestAssert/test.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/davyxu/NexusProject/0e52ea1fc6b4393e3c973baebe9239d2ede6383c/TestAssert/test.bmp --------------------------------------------------------------------------------