├── .gitattributes ├── .gitignore ├── BuildTools ├── CMake │ ├── Modules │ │ ├── FindEGL.cmake │ │ ├── FindGLFW.cmake │ │ ├── FindLua.cmake │ │ ├── FindOpenGLESv2.cmake │ │ ├── FindSDL2.cmake │ │ ├── LuaCMake.txt │ │ ├── android.apk.cmake │ │ └── ios.cmake │ └── README.md ├── android │ ├── README.md │ ├── app │ │ ├── build-default.gradle │ │ ├── build.gradle.in │ │ ├── proguard-rules.pro │ │ └── src │ │ │ └── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── java │ │ │ ├── com │ │ │ │ └── horde3d │ │ │ │ │ └── sampleapp │ │ │ │ │ └── Horde3DActivity.java.in │ │ │ └── org │ │ │ │ └── libsdl │ │ │ │ └── app │ │ │ │ ├── HIDDevice.java │ │ │ │ ├── HIDDeviceBLESteamController.java │ │ │ │ ├── HIDDeviceManager.java │ │ │ │ ├── HIDDeviceUSB.java │ │ │ │ ├── SDL.java │ │ │ │ ├── SDLActivity.java │ │ │ │ ├── SDLAudioManager.java │ │ │ │ └── SDLControllerManager.java │ │ │ └── res │ │ │ ├── mipmap-hdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-mdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxhdpi │ │ │ └── ic_launcher.png │ │ │ ├── mipmap-xxxhdpi │ │ │ └── ic_launcher.png │ │ │ └── values │ │ │ ├── colors.xml │ │ │ ├── strings.xml.in │ │ │ └── styles.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ ├── gradle-wrapper.jar │ │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ └── settings.gradle └── ios │ ├── BundleInfo.plist.in │ ├── Default.png │ ├── LaunchScreen.storyboard │ ├── README.md │ └── ios.toolchain.cmake ├── CMakeLists.txt ├── Extensions ├── Extensions.txt ├── ExternalTexture │ ├── Bindings │ │ ├── C++ │ │ │ ├── CMakeLists.txt │ │ │ └── Horde3DExternalTexture.h │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Source │ │ ├── CMakeLists.txt │ │ ├── egTextureEx.cpp │ │ ├── egTextureEx.h │ │ ├── extension.cpp │ │ └── extension.h ├── Overlays │ ├── Bindings │ │ ├── C++ │ │ │ ├── CMakeLists.txt │ │ │ └── Horde3DOverlays.h │ │ └── CMakeLists.txt │ ├── CMakeLists.txt │ └── Source │ │ ├── CMakeLists.txt │ │ ├── extension.cpp │ │ ├── extension.h │ │ ├── overlays.cpp │ │ └── overlays.h └── Terrain │ ├── Bindings │ ├── C++ │ │ ├── CMakeLists.txt │ │ └── Horde3DTerrain.h │ └── CMakeLists.txt │ ├── CMakeLists.txt │ ├── Docs │ ├── css │ │ └── api.css │ ├── images │ │ ├── docbg.gif │ │ └── doclogo.gif │ └── terrain.html │ ├── Sample │ ├── CMakeLists.txt │ ├── Content │ │ ├── shaders │ │ │ └── terrain.shader │ │ └── terrains │ │ │ └── terrain1 │ │ │ ├── detail.jpg │ │ │ ├── heightmap.tga │ │ │ ├── terrain1.material.xml │ │ │ └── terrain1.scene.xml │ ├── app.cpp │ ├── app.h │ └── main.cpp │ ├── Source │ ├── CMakeLists.txt │ ├── extension.cpp │ ├── extension.h │ ├── terrain.cpp │ └── terrain.h │ └── readme.txt ├── Horde3D ├── Binaries │ ├── CMakeLists.txt │ ├── Content │ │ ├── animations │ │ │ ├── knight_attack.anim │ │ │ ├── knight_order.anim │ │ │ └── man.anim │ │ ├── materials │ │ │ ├── compute.material.xml │ │ │ ├── computeDraw.material.xml │ │ │ └── light.material.xml │ │ ├── models │ │ │ ├── knight │ │ │ │ ├── knight.geo │ │ │ │ ├── knight.jpg │ │ │ │ ├── knight.material.xml │ │ │ │ ├── knight.scene.xml │ │ │ │ ├── knightES.material.xml │ │ │ │ └── knightES.scene.xml │ │ │ ├── man │ │ │ │ ├── civil01.jpg │ │ │ │ ├── civilian1.material.xml │ │ │ │ ├── man.geo │ │ │ │ └── man.scene.xml │ │ │ ├── platform │ │ │ │ ├── platform.geo │ │ │ │ ├── platform.scene.xml │ │ │ │ └── stones.material.xml │ │ │ ├── skybox │ │ │ │ ├── skybox.dds │ │ │ │ ├── skybox.geo │ │ │ │ ├── skybox.ktx │ │ │ │ ├── skybox.material.xml │ │ │ │ ├── skybox.scene.xml │ │ │ │ ├── skyboxES.material.xml │ │ │ │ └── skyboxES.scene.xml │ │ │ └── sphere │ │ │ │ ├── sphere.geo │ │ │ │ ├── sphere.scene.xml │ │ │ │ └── stones.material.xml │ │ ├── overlays │ │ │ ├── font.material.xml │ │ │ ├── font.tga │ │ │ ├── logo.material.xml │ │ │ ├── logo.tga │ │ │ └── panel.material.xml │ │ ├── particles │ │ │ └── particleSys1 │ │ │ │ ├── particle1.material.xml │ │ │ │ ├── particle1.particle.xml │ │ │ │ ├── particle2.material.xml │ │ │ │ ├── particle2.particle.xml │ │ │ │ └── particleSys1.scene.xml │ │ ├── pipelines │ │ │ ├── deferred.pipeline.particles.xml │ │ │ ├── deferred.pipeline.xml │ │ │ ├── forward.pipeline.xml │ │ │ ├── globalSettings.material.xml │ │ │ ├── hdr.pipeline.xml │ │ │ └── postHDR.material.xml │ │ ├── shaders │ │ │ ├── deferredLighting.shader │ │ │ ├── model.shader │ │ │ ├── overlay.shader │ │ │ ├── particle.shader │ │ │ ├── particleCompute.shader │ │ │ ├── postHDR.shader │ │ │ ├── skybox.shader │ │ │ ├── terrain.shader │ │ │ ├── tessellation.shader │ │ │ └── utilityLib │ │ │ │ ├── fragDeferredRead.glsl │ │ │ │ ├── fragDeferredReadGL4.glsl │ │ │ │ ├── fragDeferredReadGLES3.glsl │ │ │ │ ├── fragDeferredWrite.glsl │ │ │ │ ├── fragDeferredWriteGL4.glsl │ │ │ │ ├── fragDeferredWriteGLES3.glsl │ │ │ │ ├── fragLighting.glsl │ │ │ │ ├── fragLightingGL4.glsl │ │ │ │ ├── fragLightingGLES3.glsl │ │ │ │ ├── fragPostProcess.glsl │ │ │ │ ├── fragPostProcessGL4.glsl │ │ │ │ ├── vertCommon.glsl │ │ │ │ ├── vertParticle.glsl │ │ │ │ ├── vertParticleGL4.glsl │ │ │ │ ├── vertParticleGLES3.glsl │ │ │ │ ├── vertSkinning.glsl │ │ │ │ ├── vertSkinningGL4.glsl │ │ │ │ └── vertSkinningGLES3.glsl │ │ └── textures │ │ │ ├── ambientMap.dds │ │ │ ├── common │ │ │ ├── defnorm.tga │ │ │ └── white.tga │ │ │ ├── models │ │ │ ├── layingrock.jpg │ │ │ └── layingrockBump.tga │ │ │ └── particles │ │ │ ├── compParticle.png │ │ │ ├── computeParticle.png │ │ │ └── particle1.tga │ └── Windows │ │ └── ColladaConv.bat ├── Bindings │ ├── C# │ │ ├── Source │ │ │ ├── Horde3D .NET │ │ │ │ ├── Horde3D.NET.dll.config │ │ │ │ ├── Horde3D.NET.dll.csproj │ │ │ │ ├── Horde3D.cs │ │ │ │ ├── Horde3DUtils.cs │ │ │ │ ├── Horde3DUtils_Import.cs │ │ │ │ ├── Horde3D_Import.cs │ │ │ │ ├── Horde3D_Properties.cs │ │ │ │ ├── Horde3D_Properties.resx │ │ │ │ ├── OpenGL.cs │ │ │ │ └── Properties │ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── Samples │ │ │ │ ├── Chicago .NET │ │ │ │ ├── App.cs │ │ │ │ ├── CrowdSim.cs │ │ │ │ ├── Input.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── RenderForm.cs │ │ │ │ ├── RenderForm.designer.cs │ │ │ │ ├── RenderForm.resx │ │ │ │ ├── app.config │ │ │ │ ├── readme_Chicago.txt │ │ │ │ └── sample - Chicago .NET.csproj │ │ │ │ ├── Knight .NET │ │ │ │ ├── App.cs │ │ │ │ ├── Input.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── RenderForm.cs │ │ │ │ ├── RenderForm.designer.cs │ │ │ │ ├── RenderForm.resx │ │ │ │ ├── app.config │ │ │ │ ├── readme_Knight.txt │ │ │ │ └── sample - Knight .NET.csproj │ │ │ │ ├── ParticleVortex.NET │ │ │ │ ├── App.config │ │ │ │ ├── App.cs │ │ │ │ ├── Input.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ ├── Resources.Designer.cs │ │ │ │ │ ├── Resources.resx │ │ │ │ │ ├── Settings.Designer.cs │ │ │ │ │ └── Settings.settings │ │ │ │ ├── RenderForm.cs │ │ │ │ ├── RenderForm.designer.cs │ │ │ │ ├── RenderForm.resx │ │ │ │ └── sample - ParticleVortex.NET.csproj │ │ │ │ └── Tesselator.NET │ │ │ │ ├── App.config │ │ │ │ ├── App.cs │ │ │ │ ├── Input.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ ├── Resources.Designer.cs │ │ │ │ ├── Resources.resx │ │ │ │ ├── Settings.Designer.cs │ │ │ │ └── Settings.settings │ │ │ │ ├── RenderForm.cs │ │ │ │ ├── RenderForm.designer.cs │ │ │ │ ├── RenderForm.resx │ │ │ │ └── sample - Tesselator.NET.csproj │ │ ├── changelog.txt │ │ ├── license-epl.html │ │ └── readme.txt │ ├── C++ │ │ ├── CMakeLists.txt │ │ ├── Horde3D.h │ │ └── Horde3DUtils.h │ └── CMakeLists.txt ├── CMakeLists.txt ├── Docs │ ├── html │ │ ├── _api.html │ │ ├── _changelog.html │ │ ├── _contentpipe.html │ │ ├── _extdev.html │ │ ├── _faq.html │ │ ├── _formats.html │ │ ├── _main.html │ │ ├── _pipeline.html │ │ ├── _tutorial.html │ │ ├── _usageguide.html │ │ ├── _utils.html │ │ ├── css │ │ │ ├── api.css │ │ │ └── manual.css │ │ ├── images │ │ │ ├── docbg.gif │ │ │ ├── doclogo.gif │ │ │ ├── navbg.gif │ │ │ ├── navlink.gif │ │ │ ├── navlogo.gif │ │ │ ├── navminus.gif │ │ │ └── navplus.gif │ │ ├── navigation.html │ │ └── navtree.js │ └── manual.html ├── LICENSE.txt ├── README.md ├── Samples │ ├── CMakeLists.txt │ ├── Chicago │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app.cpp │ │ ├── app.h │ │ ├── crowd.cpp │ │ ├── crowd.h │ │ └── main.cpp │ ├── Framework │ │ ├── CMakeLists.txt │ │ ├── FrameworkBackend.h │ │ ├── GLFWFramework.cpp │ │ ├── GLFWFramework.h │ │ ├── README.md │ │ ├── SDLFramework.cpp │ │ ├── SDLFramework.h │ │ ├── sampleapp.cpp │ │ └── sampleapp.h │ ├── Knight │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app.cpp │ │ ├── app.h │ │ └── main.cpp │ ├── ParticleVortex │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app.cpp │ │ ├── app.h │ │ └── main.cpp │ └── Tessellator │ │ ├── CMakeLists.txt │ │ ├── README.md │ │ ├── app.cpp │ │ ├── app.h │ │ └── main.cpp └── Source │ ├── CMakeLists.txt │ ├── ColladaConverter │ ├── CMakeLists.txt │ ├── converter.cpp │ ├── converter.h │ ├── daeCommon.h │ ├── daeLibAnimations.h │ ├── daeLibControllers.h │ ├── daeLibEffects.h │ ├── daeLibGeometries.h │ ├── daeLibImages.h │ ├── daeLibMaterials.h │ ├── daeLibNodes.h │ ├── daeLibVisualScenes.h │ ├── daeMain.cpp │ ├── daeMain.h │ ├── main.cpp │ ├── optimizer.cpp │ ├── optimizer.h │ ├── utils.cpp │ └── utils.h │ ├── Horde3DEngine │ ├── CMakeLists.txt │ ├── config.h.in │ ├── egAnimatables.cpp │ ├── egAnimatables.h │ ├── egAnimation.cpp │ ├── egAnimation.h │ ├── egCamera.cpp │ ├── egCamera.h │ ├── egCom.cpp │ ├── egCom.h │ ├── egComputeBuffer.cpp │ ├── egComputeBuffer.h │ ├── egComputeNode.cpp │ ├── egComputeNode.h │ ├── egExtensions.cpp │ ├── egExtensions.h │ ├── egExtensions_auto_include.h.in │ ├── egExtensions_auto_install.h.in │ ├── egGeometry.cpp │ ├── egGeometry.h │ ├── egLight.cpp │ ├── egLight.h │ ├── egMain.cpp │ ├── egMaterial.cpp │ ├── egMaterial.h │ ├── egModel.cpp │ ├── egModel.h │ ├── egModules.cpp │ ├── egModules.h │ ├── egParticle.cpp │ ├── egParticle.h │ ├── egPipeline.cpp │ ├── egPipeline.h │ ├── egPrerequisites.h │ ├── egPrimitives.cpp │ ├── egPrimitives.h │ ├── egRenderer.cpp │ ├── egRenderer.h │ ├── egRendererBase.h │ ├── egRendererBaseGL2.cpp │ ├── egRendererBaseGL2.h │ ├── egRendererBaseGL4.cpp │ ├── egRendererBaseGL4.h │ ├── egRendererBaseGLES3.cpp │ ├── egRendererBaseGLES3.h │ ├── egResource.cpp │ ├── egResource.h │ ├── egScene.cpp │ ├── egScene.h │ ├── egSceneGraphRes.cpp │ ├── egSceneGraphRes.h │ ├── egShader.cpp │ ├── egShader.h │ ├── egTexture.cpp │ ├── egTexture.h │ ├── utImage.cpp │ ├── utImage.h │ ├── utOpenGL.cpp │ ├── utOpenGL.h │ ├── utOpenGLES3.cpp │ ├── utOpenGLES3.h │ └── utTimer.h │ ├── Horde3DUtils │ ├── CMakeLists.txt │ └── main.cpp │ └── Shared │ ├── rapidxml.h │ ├── rapidxml_print.h │ ├── utDebug.h │ ├── utEndian.h │ ├── utMath.h │ ├── utPlatform.h │ └── utXML.h ├── Horde3DEditor ├── CMakeLists.txt ├── LICENSE.txt ├── README.md └── src │ ├── EditorLib │ ├── CMakeLists.txt │ ├── HighLighter.cpp │ ├── HighLighter.h │ ├── LuaFunctions.cpp │ ├── LuaFunctions.h │ ├── TextEdit.cpp │ └── TextEdit.h │ ├── GameEnginePlugIn │ ├── AttachmentTreeModel.cpp │ ├── AttachmentTreeModel.h │ ├── AttachmentTreeView.cpp │ ├── AttachmentTreeView.h │ ├── CrowdParticleWidget.cpp │ ├── CrowdParticleWidget.h │ ├── CrowdParticleWidget.ui │ ├── CrowdVisibilityWidget.cpp │ ├── CrowdVisibilityWidget.h │ ├── CrowdVisibilityWidget.ui │ ├── ExtraTreeModel.cpp │ ├── ExtraTreeModel.h │ ├── GameControllerAttachment.cpp │ ├── GameControllerAttachment.h │ ├── GameControllerWidget.cpp │ ├── GameControllerWidget.h │ ├── GameControllerWidget.ui │ ├── KeyframeAnimationWidget.cpp │ ├── KeyframeAnimationWidget.h │ ├── KeyframeAnimationWidget.ui │ ├── PathPage.cpp │ ├── PathPage.h │ ├── PathPage.ui │ ├── PhonemeEditorWidget.cpp │ ├── PhonemeEditorWidget.h │ ├── PhonemeEditorWidget.ui │ ├── PhysicConstraintWidget.cpp │ ├── PhysicConstraintWidget.h │ ├── PhysicConstraintWidget.ui │ ├── PhysicsWidget.cpp │ ├── PhysicsWidget.h │ ├── PhysicsWidget.ui │ ├── QAttachmentNode.cpp │ ├── QAttachmentNode.h │ ├── QComponentNode.cpp │ ├── QComponentNode.h │ ├── QExtraNode.cpp │ ├── QExtraNode.h │ ├── QGameEntityNode.cpp │ ├── QGameEntityNode.h │ ├── QPositionNode.cpp │ ├── QPositionNode.h │ ├── SoundWidget.cpp │ ├── SoundWidget.h │ ├── SoundWidget.ui │ ├── TTSWidget.cpp │ ├── TTSWidget.h │ ├── TTSWidget.ui │ ├── TimeLineComboBox.cpp │ ├── TimeLineComboBox.h │ ├── TimeLineFrame.cpp │ ├── TimeLineFrame.h │ ├── TimeLineTextEdit.cpp │ └── TimeLineTextEdit.h │ ├── HordeSceneEditor │ ├── AboutDialog.cpp │ ├── AboutDialog.h │ ├── AboutDialog.ui │ ├── CMakeLists.txt │ ├── CameraToolBar.cpp │ ├── CameraToolBar.h │ ├── CameraToolBar.ui │ ├── CheckBoxList.cpp │ ├── CheckBoxList.h │ ├── ColladaImporter.cpp │ ├── ColladaImporter.h │ ├── ColladaImporter.ui │ ├── ExtraTreeView.cpp │ ├── ExtraTreeView.h │ ├── FindDialog.cpp │ ├── FindDialog.h │ ├── FindDialog.ui │ ├── GLWidget.cpp │ ├── GLWidget.h │ ├── HordeModelDialog.cpp │ ├── HordeModelDialog.h │ ├── HordeSceneEditor.cpp │ ├── HordeSceneEditor.h │ ├── HordeSceneEditor.rc │ ├── HordeSceneEditor.ui │ ├── ImgLabel.cpp │ ├── ImgLabel.h │ ├── LuaBindingsHorde.cpp │ ├── LuaBindingsHorde.h │ ├── LuaController.cpp │ ├── LuaController.h │ ├── LuaController.ui │ ├── MaterialWidget.cpp │ ├── MaterialWidget.h │ ├── MaterialWidget.ui │ ├── MiscToolBar.cpp │ ├── MiscToolBar.h │ ├── MiscToolBar.ui │ ├── NodeWidget.cpp │ ├── NodeWidget.h │ ├── PipelineTreeModel.cpp │ ├── PipelineTreeModel.h │ ├── PipelineTreeView.cpp │ ├── PipelineTreeView.h │ ├── PlugInPage.cpp │ ├── PlugInPage.h │ ├── PlugInPage.ui │ ├── QCameraNode.cpp │ ├── QCameraNode.h │ ├── QCameraNodePage.cpp │ ├── QCameraNodePage.h │ ├── QCameraNodePage.ui │ ├── QEmitterNode.cpp │ ├── QEmitterNode.h │ ├── QEmitterNodePage.cpp │ ├── QEmitterNodePage.h │ ├── QEmitterNodePage.ui │ ├── QGroupNode.cpp │ ├── QGroupNode.h │ ├── QGroupNodePage.cpp │ ├── QGroupNodePage.h │ ├── QGroupNodePage.ui │ ├── QJointNode.cpp │ ├── QJointNode.h │ ├── QLightNode.cpp │ ├── QLightNode.h │ ├── QLightNodePage.cpp │ ├── QLightNodePage.h │ ├── QLightNodePage.ui │ ├── QMeshNode.cpp │ ├── QMeshNode.h │ ├── QModelNode.cpp │ ├── QModelNode.h │ ├── QOneTimeDialog.cpp │ ├── QOneTimeDialog.h │ ├── QOneTimeDialog.ui │ ├── QPipelineBindBufferNode.cpp │ ├── QPipelineBindBufferNode.h │ ├── QPipelineClearTargetNode.cpp │ ├── QPipelineClearTargetNode.h │ ├── QPipelineCommandQueueNode.cpp │ ├── QPipelineCommandQueueNode.h │ ├── QPipelineDoDeferredLightLoopNode.cpp │ ├── QPipelineDoDeferredLightLoopNode.h │ ├── QPipelineDoForwardLightLoopNode.cpp │ ├── QPipelineDoForwardLightLoopNode.h │ ├── QPipelineDrawGeometryNode.cpp │ ├── QPipelineDrawGeometryNode.h │ ├── QPipelineDrawOverlaysNode.cpp │ ├── QPipelineDrawOverlaysNode.h │ ├── QPipelineDrawQuadNode.cpp │ ├── QPipelineDrawQuadNode.h │ ├── QPipelineNode.cpp │ ├── QPipelineNode.h │ ├── QPipelineRenderTargetNode.cpp │ ├── QPipelineRenderTargetNode.h │ ├── QPipelineSetUniformNode.cpp │ ├── QPipelineSetUniformNode.h │ ├── QPipelineSetupNode.cpp │ ├── QPipelineSetupNode.h │ ├── QPipelineStageNode.cpp │ ├── QPipelineStageNode.h │ ├── QPipelineSwitchTargetNode.cpp │ ├── QPipelineSwitchTargetNode.h │ ├── QPipelineUnbindBuffersNode.cpp │ ├── QPipelineUnbindBuffersNode.h │ ├── QReferenceNode.cpp │ ├── QReferenceNode.h │ ├── QReferenceNodePage.cpp │ ├── QReferenceNodePage.h │ ├── QReferenceNodePage.ui │ ├── QStdOutListener.cpp │ ├── QStdOutListener.h │ ├── QTexUnit.cpp │ ├── QTexUnit.h │ ├── RenderTargetView.cpp │ ├── RenderTargetView.h │ ├── RenderTargetView.ui │ ├── Resources │ │ ├── Cam2Node.png │ │ ├── Front.png │ │ ├── Fullscreen.png │ │ ├── Horde3DEditor.appdata.xml │ │ ├── Horde3DEditor.desktop │ │ ├── Horde3DEditor.desktop.in │ │ ├── Icon.png │ │ ├── Move.png │ │ ├── New.png │ │ ├── Node2Cam.png │ │ ├── Open.png │ │ ├── Repository.png │ │ ├── Right.png │ │ ├── RootIcon.png │ │ ├── Rotate.png │ │ ├── Save.png │ │ ├── Top.png │ │ ├── Wireframe.png │ │ ├── editor.svg │ │ ├── editor_16.png │ │ ├── editor_32.png │ │ ├── editor_48.png │ │ ├── editor_64.png │ │ ├── logo.png │ │ └── scale.png │ ├── SampleScenes │ │ └── Particle │ │ │ ├── I_Love_Horde3D.lua │ │ │ ├── Particle.scn │ │ │ ├── materials │ │ │ └── light.material.xml │ │ │ ├── particles │ │ │ ├── particle.scene.xml │ │ │ ├── particle1.material.xml │ │ │ ├── particle1.particle.xml │ │ │ ├── particle2.material.xml │ │ │ └── particle2.particle.xml │ │ │ ├── pipelines │ │ │ ├── globalSettings.material.xml │ │ │ ├── hdr.pipeline.xml │ │ │ └── postHDR.material.xml │ │ │ ├── shaders │ │ │ ├── deferredLighting.shader │ │ │ ├── particle.shader │ │ │ ├── postHDR.shader │ │ │ └── utilityLib │ │ │ │ ├── fragDeferredRead.glsl │ │ │ │ ├── fragDeferredReadGL4.glsl │ │ │ │ ├── fragLighting.glsl │ │ │ │ ├── fragLightingGL4.glsl │ │ │ │ ├── fragPostProcess.glsl │ │ │ │ ├── fragPostProcessGL4.glsl │ │ │ │ ├── vertParticle.glsl │ │ │ │ └── vertParticleGL4.glsl │ │ │ └── textures │ │ │ ├── ambientMap.dds │ │ │ └── particles │ │ │ ├── logo.tga │ │ │ └── particle1.tga │ ├── SceneFilePage.cpp │ ├── SceneFilePage.h │ ├── SceneFilePage.ui │ ├── SceneTreeView.cpp │ ├── SceneTreeView.h │ ├── SceneTreeWidget.cpp │ ├── SceneTreeWidget.h │ ├── SceneTreeWidget.ui │ ├── SceneWizard.cpp │ ├── SceneWizard.h │ ├── SettingsDialog.cpp │ ├── SettingsDialog.h │ ├── SettingsDialog.ui │ ├── Styles │ │ ├── coffee.qss │ │ └── default.qss │ ├── icon1.ico │ ├── main.cpp │ ├── resource.h │ └── resources.qrc │ ├── HordeSceneEditorCore │ ├── AttachmentPlugIn.h │ ├── CMakeLists.txt │ ├── CustomTypes.cpp │ ├── CustomTypes.h │ ├── EffectComboBox.cpp │ ├── EffectComboBox.h │ ├── EffectProperty.cpp │ ├── EffectProperty.h │ ├── ExtSceneNodePlugIn.h │ ├── FrustumProperty.cpp │ ├── FrustumProperty.h │ ├── HordeFileDialog.cpp │ ├── HordeFileDialog.h │ ├── HordeFileDialog.ui │ ├── Importer.cpp │ ├── Importer.h │ ├── MaterialComboBox.cpp │ ├── MaterialComboBox.h │ ├── MaterialProperty.cpp │ ├── MaterialProperty.h │ ├── OverwriteFilesDialog.cpp │ ├── OverwriteFilesDialog.h │ ├── OverwriteFilesDialog.ui │ ├── PipelineComboBox.cpp │ ├── PipelineComboBox.h │ ├── PipelineProperty.cpp │ ├── PipelineProperty.h │ ├── PlugInManager.cpp │ ├── PlugInManager.h │ ├── QHordeSceneEditorSettings.cpp │ ├── QHordeSceneEditorSettings.h │ ├── QSceneNode.cpp │ ├── QSceneNode.h │ ├── QUniform.cpp │ ├── QUniform.h │ ├── SceneFile.cpp │ ├── SceneFile.h │ ├── SceneTreeModel.cpp │ ├── SceneTreeModel.h │ ├── ShaderComboBox.cpp │ ├── ShaderComboBox.h │ ├── ShaderData.cpp │ ├── ShaderData.h │ ├── TextureComboBox.cpp │ ├── TextureComboBox.h │ ├── TextureProperty.cpp │ ├── TextureProperty.h │ ├── ToolPlugIn.h │ ├── Vec3fProperty.cpp │ └── Vec3fProperty.h │ ├── QPropertyEditor │ ├── CMakeLists.txt │ ├── ColorCombo.cpp │ ├── ColorCombo.h │ ├── EnumProperty.cpp │ ├── EnumProperty.h │ ├── Property.cpp │ ├── Property.h │ ├── QPropertyEditorWidget.cpp │ ├── QPropertyEditorWidget.h │ ├── QPropertyModel.cpp │ ├── QPropertyModel.h │ ├── QVariantDelegate.cpp │ └── QVariantDelegate.h │ ├── QTerrainNodeExtension │ ├── CMakeLists.txt │ ├── ExtTerrainPlugIn.cpp │ ├── ExtTerrainPlugIn.h │ ├── QTerrainNode.cpp │ ├── QTerrainNode.h │ ├── QTerrainNodePage.cpp │ ├── QTerrainNodePage.h │ └── QTerrainNodePage.ui │ ├── QXmlTree │ ├── CMakeLists.txt │ ├── QXmlNodePropertyCommand.h │ ├── QXmlTreeModel.cpp │ ├── QXmlTreeModel.h │ ├── QXmlTreeNode.cpp │ ├── QXmlTreeNode.h │ ├── QXmlTreeUndoCommands.cpp │ ├── QXmlTreeUndoCommands.h │ ├── QXmlTreeView.cpp │ └── QXmlTreeView.h │ ├── TerrainToolPlugIn │ ├── CMakeLists.txt │ ├── ConverterWizard.cpp │ ├── ConverterWizard.h │ ├── ConverterWizard.ui │ ├── TerrainToolPlugIn.cpp │ └── TerrainToolPlugIn.h │ ├── psdPlugIn │ ├── CMakeLists.txt │ ├── main.cpp │ ├── qpsdhandler.cpp │ └── qpsdhandler.h │ └── tgaPlugIn │ ├── CMakeLists.txt │ ├── main.cpp │ ├── qtgahandler.cpp │ └── qtgahandler.h └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /BuildTools/CMake/Modules/LuaCMake.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0) 2 | 3 | IF( DEFINED DEFINITIONS) 4 | ADD_DEFINITIONS(-D${DEFINITIONS}) 5 | ENDIF() 6 | 7 | ADD_LIBRARY( lua STATIC 8 | src/lapi.c 9 | src/lapi.h 10 | src/lauxlib.c 11 | src/lauxlib.h 12 | src/lbaselib.c 13 | src/lbitlib.c 14 | src/lcode.c 15 | src/lcode.h 16 | src/lcorolib.c 17 | src/lctype.c 18 | src/lctype.h 19 | src/ldblib.c 20 | src/ldebug.c 21 | src/ldebug.h 22 | src/ldo.c 23 | src/ldo.h 24 | src/ldump.c 25 | src/lfunc.c 26 | src/lfunc.h 27 | src/lgc.c 28 | src/lgc.h 29 | src/linit.c 30 | src/liolib.c 31 | src/llex.c 32 | src/llex.h 33 | src/llimits.h 34 | src/lmathlib.c 35 | src/lmem.c 36 | src/lmem.h 37 | src/loadlib.c 38 | src/lobject.c 39 | src/lobject.h 40 | src/lopcodes.c 41 | src/lopcodes.h 42 | src/loslib.c 43 | src/lparser.c 44 | src/lparser.h 45 | src/lprefix.h 46 | src/lstate.c 47 | src/lstate.h 48 | src/lstring.c 49 | src/lstring.h 50 | src/lstrlib.c 51 | src/ltable.c 52 | src/ltable.h 53 | src/ltablib.c 54 | src/ltm.c 55 | src/ltm.h 56 | src/lua.hpp 57 | src/luac.c 58 | src/luaconf.h 59 | src/lualib.h 60 | src/lundump.c 61 | src/lundump.h 62 | src/lutf8lib.c 63 | src/lvm.c 64 | src/lvm.h 65 | src/lzio.c 66 | src/lzio.h 67 | ) 68 | 69 | install(FILES "src/lua.h" "src/lualib.h" "src/lauxlib.h" "src/luaconf.h" DESTINATION "include") 70 | install(TARGETS lua DESTINATION "lib") 71 | 72 | -------------------------------------------------------------------------------- /BuildTools/CMake/Modules/ios.cmake: -------------------------------------------------------------------------------- 1 | # This little macro lets you set any XCode specific property 2 | macro (set_xcode_property TARGET XCODE_PROPERTY XCODE_VALUE) 3 | set_property (TARGET ${TARGET} PROPERTY XCODE_ATTRIBUTE_${XCODE_PROPERTY} ${XCODE_VALUE}) 4 | endmacro (set_xcode_property) -------------------------------------------------------------------------------- /BuildTools/CMake/README.md: -------------------------------------------------------------------------------- 1 | # CMake 2 | 3 | This folder contains helper files used by CMake during project file generation. 4 | 5 | In general, it's not a good idea to generate your build files here. 6 | 7 | Please, follow the instructions in the main README to learn how to correctly handle **Horde3D** building using CMake. 8 | -------------------------------------------------------------------------------- /BuildTools/android/README.md: -------------------------------------------------------------------------------- 1 | This folder contains android project files used by CMake during project file generation. 2 | These files are copied to output CMake folder during CMake project generation. 3 | 4 | In general, it's not a good idea to generate your build files here. 5 | 6 | Please, follow the instructions in the main README to learn how to correctly handle **Horde3D** building using CMake. 7 | -------------------------------------------------------------------------------- /BuildTools/android/app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in [sdk]/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/java/com/horde3d/sampleapp/Horde3DActivity.java.in: -------------------------------------------------------------------------------- 1 | package com.horde3d.sampleapp; 2 | 3 | import org.libsdl.app.SDLActivity; 4 | 5 | public class Horde3DActivity extends SDLActivity 6 | { 7 | /** 8 | * This method is called by SDL before loading the native shared libraries. 9 | * It can be overridden to provide names of shared libraries to be loaded. 10 | * The default implementation returns the defaults. It never returns null. 11 | * An array returned by a new implementation must at least contain "SDL2". 12 | * Also keep in mind that the order the libraries are loaded may matter. 13 | * 14 | * @return names of shared libraries to be loaded (e.g. "SDL2", "main"). 15 | */ 16 | @Override 17 | protected String[] getLibraries() { 18 | return new String[]{ 19 | "SDL2", 20 | "Horde3D", 21 | "Horde3DUtils", 22 | "${ANDROID_NAME}" 23 | }; 24 | } 25 | 26 | /** 27 | * This method returns the name of the application entry point 28 | * It can be overridden by derived classes. 29 | */ 30 | @Override 31 | protected String getMainFunction() { 32 | return "main"; 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/java/org/libsdl/app/HIDDevice.java: -------------------------------------------------------------------------------- 1 | package org.libsdl.app; 2 | 3 | interface HIDDevice 4 | { 5 | public int getId(); 6 | public int getVendorId(); 7 | public int getProductId(); 8 | public String getSerialNumber(); 9 | public int getVersion(); 10 | public String getManufacturerName(); 11 | public String getProductName(); 12 | public boolean open(); 13 | public int sendFeatureReport(byte[] report); 14 | public int sendOutputReport(byte[] report); 15 | public boolean getFeatureReport(byte[] report); 16 | public void setFrozen(boolean frozen); 17 | public void close(); 18 | public void shutdown(); 19 | } 20 | -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/values/colors.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | #3F51B5 4 | #303F9F 5 | #FF4081 6 | 7 | -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/values/strings.xml.in: -------------------------------------------------------------------------------- 1 | 2 | Horde3D sample ${ANDROID_NAME} 3 | 4 | -------------------------------------------------------------------------------- /BuildTools/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /BuildTools/android/build.gradle: -------------------------------------------------------------------------------- 1 | // Top-level build file where you can add configuration options common to all sub-projects/modules. 2 | 3 | buildscript { 4 | repositories { 5 | jcenter() 6 | google() 7 | } 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:3.4.1' 10 | 11 | // NOTE: Do not place your application dependencies here; they belong 12 | // in the individual module build.gradle files 13 | } 14 | } 15 | 16 | allprojects { 17 | repositories { 18 | jcenter() 19 | google() 20 | } 21 | } 22 | 23 | task clean(type: Delete) { 24 | delete rootProject.buildDir 25 | } 26 | -------------------------------------------------------------------------------- /BuildTools/android/gradle.properties: -------------------------------------------------------------------------------- 1 | # Project-wide Gradle settings. 2 | 3 | # IDE (e.g. Android Studio) users: 4 | # Gradle settings configured through the IDE *will override* 5 | # any settings specified in this file. 6 | 7 | # For more details on how to configure your build environment visit 8 | # http://www.gradle.org/docs/current/userguide/build_environment.html 9 | 10 | # Specifies the JVM arguments used for the daemon process. 11 | # The setting is particularly useful for tweaking memory settings. 12 | org.gradle.jvmargs=-Xmx1536m 13 | 14 | # When configured, Gradle will run in incubating parallel mode. 15 | # This option should only be used with decoupled projects. More details, visit 16 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects 17 | # org.gradle.parallel=true 18 | -------------------------------------------------------------------------------- /BuildTools/android/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/android/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /BuildTools/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Sun Oct 27 12:31:14 MSK 2019 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip 7 | -------------------------------------------------------------------------------- /BuildTools/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | -------------------------------------------------------------------------------- /BuildTools/ios/BundleInfo.plist.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | org.horde3d.$(PRODUCT_NAME) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | APPL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1 23 | LSRequiresIPhoneOS 24 | 25 | UILaunchStoryboardName 26 | LaunchScreen 27 | UIRequiredDeviceCapabilities 28 | 29 | arm64 30 | opengles-3 31 | 32 | UISupportedInterfaceOrientations 33 | 34 | UIInterfaceOrientationPortrait 35 | UIInterfaceOrientationLandscapeLeft 36 | UIInterfaceOrientationLandscapeRight 37 | 38 | UISupportedInterfaceOrientations~ipad 39 | 40 | UIInterfaceOrientationPortrait 41 | UIInterfaceOrientationPortraitUpsideDown 42 | UIInterfaceOrientationLandscapeLeft 43 | UIInterfaceOrientationLandscapeRight 44 | 45 | NSHighResolutionCapable 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /BuildTools/ios/Default.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/BuildTools/ios/Default.png -------------------------------------------------------------------------------- /BuildTools/ios/README.md: -------------------------------------------------------------------------------- 1 | This folder contains various files used by CMake during project file generation for IOS. 2 | These files are copied to output CMake folder during CMake project generation. 3 | 4 | In general, it's not a good idea to generate your build files here. 5 | 6 | Please, follow the instructions in the main README to learn how to correctly handle **Horde3D** building using CMake. 7 | -------------------------------------------------------------------------------- /Extensions/Extensions.txt: -------------------------------------------------------------------------------- 1 | # WARNING: this file should be included by root CMakeLists.txt. 2 | 3 | MACRO(EXTENSION_DIRECTORIES dir result) 4 | FILE(GLOB children ${dir}/*) 5 | SET(dirlist "") 6 | FOREACH(child ${children}) 7 | IF( IS_DIRECTORY "${child}" ) 8 | LIST(APPEND dirlist ${child}) 9 | ENDIF() 10 | ENDFOREACH() 11 | SET(${result} ${dirlist}) 12 | ENDMACRO() 13 | 14 | # Accumulate list of sources of extension modules. 15 | set(HORDE3D_EXTENSION_INSTALLS) 16 | set(HORDE3D_EXTENSION_INCLUDE_DIRS) 17 | set(HORDE3D_EXTENSION_LIBS) 18 | 19 | # Common paths of engine headers. 20 | INCLUDE_DIRECTORIES( 21 | "${CMAKE_CURRENT_SOURCE_DIR}/Horde3D/Source/Horde3DEngine" 22 | "${CMAKE_CURRENT_SOURCE_DIR}/Horde3D/Source/Shared" 23 | ) 24 | 25 | EXTENSION_DIRECTORIES( "Extensions" directories) 26 | 27 | FOREACH(dir ${directories}) 28 | add_subdirectory(${dir}) 29 | ENDFOREACH() 30 | 31 | # Create "egExtensions.cpp". 32 | CONFIGURE_FILE(Horde3D/Source/Horde3DEngine/egExtensions_auto_include.h.in ${CMAKE_BINARY_DIR}/egExtensions_auto_include.h) 33 | CONFIGURE_FILE(Horde3D/Source/Horde3DEngine/egExtensions_auto_install.h.in ${CMAKE_BINARY_DIR}/egExtensions_auto_install.h) 34 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/Bindings/C++/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 2 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 3 | 4 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 5 | install(FILES Horde3DExternalTexture.h DESTINATION include/horde3d ) 6 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 7 | 8 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 9 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 10 | 11 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/Bindings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_subdirectory(C++) 3 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # External texture extension allows replacing a Horde3D's OpenGL texture with an externally managed one 2 | option(HORDE3D_BUILD_EXTERNAL_TEXTURE "Build the ExternalTexture extension into Horde3D" OFF) 3 | if(HORDE3D_BUILD_EXTERNAL_TEXTURE) 4 | add_subdirectory(Bindings) 5 | add_subdirectory(Source) 6 | 7 | set(HORDE3D_EXTENSION_INSTALLS "${HORDE3D_EXTENSION_INSTALLS}extMan().installExtension( new Horde3DExternalTexture::ExternalTexture() );\n" PARENT_SCOPE ) 8 | set(HORDE3D_EXTENSION_INCLUDES "${HORDE3D_EXTENSION_INCLUDES}\n#include \"Extensions/ExternalTexture/Source/extension.h\"\n" PARENT_SCOPE ) 9 | set(HORDE3D_EXTENSION_LIBS ${HORDE3D_EXTENSION_LIBS} Horde3DExternalTexture PARENT_SCOPE ) 10 | endif() 11 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/Source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(EXTERNAL_TEXTURE_EXTENSION_SOURCES 2 | extension.cpp 3 | egTextureEx.cpp 4 | ) 5 | 6 | SET(EXTERNAL_TEXTURE_HEADERS 7 | extension.h 8 | egTextureEx.h 9 | ) 10 | 11 | # CMAKE_BINARY_DIR is used for inclusion of automatically generated files 12 | include_directories( ${CMAKE_BINARY_DIR} ) 13 | 14 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 15 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 16 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 17 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 18 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 19 | ADD_LIBRARY( Horde3DExternalTexture STATIC ${EXTERNAL_TEXTURE_EXTENSION_SOURCES} ${EXTERNAL_TEXTURE_HEADERS} ) 20 | 21 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/Source/egTextureEx.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D ExternalTexture Extension 4 | // -------------------------------------------------------- 5 | // Copyright (C) 2017 Volker Vogelhuber 6 | // 7 | // This software is distributed under the terms of the Eclipse Public License v1.0. 8 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 9 | // 10 | // ************************************************************************************************* 11 | 12 | #ifndef EGTEXTUREEX_H 13 | #define EGTEXTUREEX_H 14 | 15 | #include 16 | 17 | namespace Horde3DExternalTexture { 18 | 19 | class TextureResourceEx : public Horde3D::TextureResource 20 | { 21 | public: 22 | static Resource *factoryFunc( const std::string &name, int flags ) 23 | { return new TextureResourceEx( name, flags ); } 24 | 25 | TextureResourceEx( const std::string &name, int flags ); 26 | 27 | void release(); 28 | 29 | void importTexGL(uint32 texGL , int width, int height); 30 | 31 | uint32 getGLTexID(); 32 | 33 | private: 34 | void replaceTexObj(uint32 texObj ); 35 | 36 | bool m_imported; 37 | }; 38 | 39 | } 40 | 41 | #endif // EGTEXTUREEX_H 42 | -------------------------------------------------------------------------------- /Extensions/ExternalTexture/Source/extension.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D ExternalTexture Extension 4 | // -------------------------------------------------------- 5 | // Copyright (C) 2017 Volker Vogelhuber 6 | // 7 | // This software is distributed under the terms of the Eclipse Public License v1.0. 8 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 9 | // 10 | // ************************************************************************************************* 11 | 12 | #ifndef _Horde3DExternalTexture_extension_H_ 13 | #define _Horde3DExternalTexture_extension_H_ 14 | 15 | #include "egPrerequisites.h" 16 | #include "egExtensions.h" 17 | 18 | 19 | namespace Horde3DExternalTexture { 20 | 21 | 22 | class ExternalTexture : public Horde3D::IExtension 23 | { 24 | public: 25 | virtual const char *getName() const { return "ExternalTexture"; } 26 | virtual bool init(); 27 | virtual void release(); 28 | }; 29 | 30 | } 31 | 32 | #endif // _Horde3DExternalTexture_extension_H_ 33 | -------------------------------------------------------------------------------- /Extensions/Overlays/Bindings/C++/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 2 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 3 | 4 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 5 | install(FILES Horde3DOverlays.h DESTINATION include/horde3d ) 6 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 7 | 8 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 9 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 10 | 11 | -------------------------------------------------------------------------------- /Extensions/Overlays/Bindings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_subdirectory(C++) 3 | -------------------------------------------------------------------------------- /Extensions/Overlays/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Overlays extension allows displaying various information, like text, logos and performance info above the rendered image 2 | option(HORDE3D_BUILD_OVERLAYS "Build the Overlays extension into Horde3D" ON) 3 | if(HORDE3D_BUILD_OVERLAYS) 4 | add_subdirectory(Bindings) 5 | add_subdirectory(Source) 6 | 7 | set(HORDE3D_EXTENSION_INSTALLS "${HORDE3D_EXTENSION_INSTALLS}extMan().installExtension( new Horde3DOverlays::ExtOverlays() );\n" PARENT_SCOPE ) 8 | set(HORDE3D_EXTENSION_INCLUDES "${HORDE3D_EXTENSION_INCLUDES}\n#include \"Extensions/Overlays/Source/extension.h\"\n" PARENT_SCOPE ) 9 | set(HORDE3D_EXTENSION_LIBS ${HORDE3D_EXTENSION_LIBS} Horde3DOverlays PARENT_SCOPE ) 10 | endif() 11 | -------------------------------------------------------------------------------- /Extensions/Overlays/Source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(OVERLAYS_EXTENSION_SOURCES 2 | extension.cpp 3 | overlays.cpp 4 | ) 5 | 6 | SET(OVERLAYS_EXTENSION_HEADERS 7 | extension.h 8 | overlays.h 9 | ) 10 | 11 | # CMAKE_BINARY_DIR is used for inclusion of automatically generated files 12 | include_directories( ${CMAKE_BINARY_DIR} ) 13 | 14 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 15 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") 16 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic") 17 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 18 | ADD_LIBRARY( Horde3DOverlays STATIC ${OVERLAYS_EXTENSION_SOURCES} ${OVERLAYS_EXTENSION_HEADERS} ) 19 | 20 | -------------------------------------------------------------------------------- /Extensions/Overlays/Source/extension.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // -------------------------------------- 6 | // Copyright (C) 2006-2017 Nicolas Schulz and Horde3D team 7 | // 8 | // This software is distributed under the terms of the Eclipse Public License v1.0. 9 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 10 | // 11 | // ************************************************************************************************* 12 | #pragma once 13 | 14 | #include "egPrerequisites.h" 15 | #include "egExtensions.h" 16 | 17 | namespace Horde3DOverlays { 18 | 19 | using namespace Horde3D; 20 | 21 | class ExtOverlays : public IExtension 22 | { 23 | public: 24 | virtual const char *getName() const { return "Overlays"; } 25 | virtual bool init(); 26 | virtual void release(); 27 | }; 28 | 29 | } 30 | 31 | -------------------------------------------------------------------------------- /Extensions/Terrain/Bindings/C++/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 2 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 3 | 4 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 5 | install(FILES Horde3DTerrain.h 6 | DESTINATION include/horde3d 7 | ) 8 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 9 | 10 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 11 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 12 | 13 | -------------------------------------------------------------------------------- /Extensions/Terrain/Bindings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_subdirectory(C++) 3 | -------------------------------------------------------------------------------- /Extensions/Terrain/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Terrain extension. 2 | option(HORDE3D_BUILD_TERRAIN "Build the terrain extension into Horde3D" ON) 3 | 4 | if(HORDE3D_BUILD_TERRAIN) 5 | 6 | add_subdirectory(Bindings) 7 | add_subdirectory(Source) 8 | 9 | set( HORDE3D_EXTENSION_INSTALLS "${HORDE3D_EXTENSION_INSTALLS}extMan().installExtension( new Horde3DTerrain::ExtTerrain() );\n" PARENT_SCOPE ) 10 | set( HORDE3D_EXTENSION_INCLUDES "${HORDE3D_EXTENSION_INCLUDES}#include \"Extensions/Terrain/Source/extension.h\"\n" PARENT_SCOPE ) 11 | set( HORDE3D_EXTENSION_LIBS ${HORDE3D_EXTENSION_LIBS} Horde3DTerrain PARENT_SCOPE ) 12 | 13 | if(HORDE3D_BUILD_EXAMPLES) 14 | add_subdirectory(Sample) 15 | endif(HORDE3D_BUILD_EXAMPLES) 16 | 17 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 18 | set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fpic") 19 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fpic") 20 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 21 | 22 | endif(HORDE3D_BUILD_TERRAIN) 23 | -------------------------------------------------------------------------------- /Extensions/Terrain/Docs/images/docbg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Extensions/Terrain/Docs/images/docbg.gif -------------------------------------------------------------------------------- /Extensions/Terrain/Docs/images/doclogo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Extensions/Terrain/Docs/images/doclogo.gif -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/Content/terrains/terrain1/detail.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Extensions/Terrain/Sample/Content/terrains/terrain1/detail.jpg -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/Content/terrains/terrain1/heightmap.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Extensions/Terrain/Sample/Content/terrains/terrain1/heightmap.tga -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/Content/terrains/terrain1/terrain1.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/Content/terrains/terrain1/terrain1.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/app.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2011 Nicolas Schulz 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _app_H_ 18 | #define _app_H_ 19 | 20 | #include "../../../Horde3D/Samples/Framework/sampleapp.h" 21 | 22 | 23 | class TerrainSample : public SampleApplication 24 | { 25 | public: 26 | TerrainSample( int argc, char** argv ); 27 | 28 | protected: 29 | bool initResources(); 30 | }; 31 | 32 | #endif // _app_H_ 33 | -------------------------------------------------------------------------------- /Extensions/Terrain/Sample/main.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | // For IOS we have to replace main function with SDL_main 18 | #if defined( __APPLE__ ) || defined( __APPLE_CC__ ) 19 | #include "AvailabilityMacros.h" 20 | #include "TargetConditionals.h" 21 | #if TARGET_OS_IPHONE 22 | #include "SDL_main.h" 23 | #ifdef __cplusplus 24 | extern "C" 25 | #endif 26 | #endif 27 | #endif 28 | 29 | #include "app.h" 30 | 31 | int main( int argc, char** argv ) 32 | { 33 | TerrainSample app( argc, argv ); 34 | if ( !app.init() ) return 1; 35 | 36 | return app.run(); 37 | } 38 | -------------------------------------------------------------------------------- /Extensions/Terrain/Source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(TERRAIN_EXTENSION_SOURCES 2 | extension.cpp 3 | terrain.cpp 4 | ) 5 | 6 | SET(TERRAIN_EXTENSION_HEADERS 7 | terrain.h 8 | extension.h 9 | ) 10 | 11 | include_directories( ${CMAKE_BINARY_DIR} ) 12 | 13 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 14 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 15 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 16 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 17 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 18 | 19 | ADD_LIBRARY( Horde3DTerrain STATIC 20 | ${TERRAIN_EXTENSION_HEADERS} 21 | ${TERRAIN_EXTENSION_SOURCES} 22 | ) 23 | -------------------------------------------------------------------------------- /Extensions/Terrain/Source/extension.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D Terrain Extension 4 | // -------------------------------------------------------- 5 | // Copyright (C) 2006-2020 Nicolas Schulz, Volker Wiendl and Horde3D team 6 | // 7 | // This software is distributed under the terms of the Eclipse Public License v1.0. 8 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 9 | // 10 | // ************************************************************************************************* 11 | 12 | #ifndef _Horde3DTerrain_extension_H_ 13 | #define _Horde3DTerrain_extension_H_ 14 | 15 | #include "egPrerequisites.h" 16 | #include "egExtensions.h" 17 | 18 | 19 | namespace Horde3DTerrain { 20 | 21 | using namespace Horde3D; 22 | 23 | 24 | class ExtTerrain: public IExtension 25 | { 26 | public: 27 | virtual const char *getName() const { return "Terrain"; } 28 | virtual bool init(); 29 | virtual void release(); 30 | }; 31 | 32 | } 33 | 34 | #endif // _Horde3DTerrain_extension_H_ 35 | -------------------------------------------------------------------------------- /Extensions/Terrain/readme.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Extensions/Terrain/readme.txt -------------------------------------------------------------------------------- /Horde3D/Binaries/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # Copy content assets to output path. 2 | FILE(COPY Content DESTINATION ${HORDE3D_OUTPUT_PATH_PREFIX}) 3 | 4 | # Copy platform-dependent files to runtime output path. 5 | IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME}) 6 | 7 | ADD_CUSTOM_TARGET(CopyPlatformFiles ALL) 8 | 9 | SET(out_dir ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}) 10 | IF(NOT ${CMAKE_CFG_INTDIR} STREQUAL ".") 11 | SET(out_dir ${out_dir}/${CMAKE_CFG_INTDIR}/) 12 | ENDIF(NOT ${CMAKE_CFG_INTDIR} STREQUAL ".") 13 | 14 | 15 | 16 | ADD_CUSTOM_COMMAND(TARGET CopyPlatformFiles PRE_BUILD 17 | COMMAND ${CMAKE_COMMAND} -E 18 | copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME} ${out_dir}) 19 | 20 | ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_SYSTEM_NAME}) 21 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/animations/knight_attack.anim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/animations/knight_attack.anim -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/animations/knight_order.anim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/animations/knight_order.anim -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/animations/man.anim: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/animations/man.anim -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/materials/compute.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/materials/computeDraw.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/materials/light.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/knight/knight.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/knight/knight.geo -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/knight/knight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/knight/knight.jpg -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/knight/knight.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/knight/knightES.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/man/civil01.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/man/civil01.jpg -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/man/civilian1.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/man/man.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/man/man.geo -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/platform/platform.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/platform/platform.geo -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/platform/platform.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/platform/stones.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skybox.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/skybox/skybox.dds -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skybox.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/skybox/skybox.geo -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skybox.ktx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/skybox/skybox.ktx -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skybox.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skybox.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skyboxES.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/skybox/skyboxES.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/sphere/sphere.geo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/models/sphere/sphere.geo -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/sphere/sphere.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/models/sphere/stones.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/overlays/font.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/overlays/font.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/overlays/font.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/overlays/logo.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/overlays/logo.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/overlays/logo.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/overlays/panel.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/particles/particleSys1/particle1.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/particles/particleSys1/particle1.particle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/particles/particleSys1/particle2.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/particles/particleSys1/particle2.particle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/particles/particleSys1/particleSys1.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/pipelines/deferred.pipeline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/pipelines/forward.pipeline.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/pipelines/globalSettings.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/pipelines/postHDR.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredRead.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform sampler2D gbuf0; 13 | uniform sampler2D gbuf1; 14 | uniform sampler2D gbuf2; 15 | uniform sampler2D gbuf3; 16 | 17 | float getMatID( const vec2 coord ) { return texture2D( gbuf0, coord ).a; } 18 | vec3 getPos( const vec2 coord ) { return texture2D( gbuf0, coord ).rgb; } 19 | vec3 getNormal( const vec2 coord ) { return texture2D( gbuf1, coord ).rgb; } 20 | vec3 getAlbedo( const vec2 coord ) { return texture2D( gbuf2, coord ).rgb; } 21 | vec4 getSpecParams( const vec2 coord ) { return texture2D( gbuf3, coord ).rgba; } 22 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredReadGL4.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform sampler2D gbuf0; 13 | uniform sampler2D gbuf1; 14 | uniform sampler2D gbuf2; 15 | uniform sampler2D gbuf3; 16 | 17 | float getMatID( const vec2 coord ) { return texture( gbuf0, coord ).a; } 18 | vec3 getPos( const vec2 coord ) { return texture( gbuf0, coord ).rgb; } 19 | vec3 getNormal( const vec2 coord ) { return texture( gbuf1, coord ).rgb; } 20 | vec3 getAlbedo( const vec2 coord ) { return texture( gbuf2, coord ).rgb; } 21 | vec4 getSpecParams( const vec2 coord ) { return texture( gbuf3, coord ).rgba; } 22 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredReadGLES3.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform sampler2D gbuf0; 13 | uniform sampler2D gbuf1; 14 | uniform sampler2D gbuf2; 15 | uniform sampler2D gbuf3; 16 | 17 | float getMatID( const vec2 coord ) { return texture( gbuf0, coord ).a; } 18 | vec3 getPos( const vec2 coord ) { return texture( gbuf0, coord ).rgb; } 19 | vec3 getNormal( const vec2 coord ) { return texture( gbuf1, coord ).rgb; } 20 | vec3 getAlbedo( const vec2 coord ) { return texture( gbuf2, coord ).rgb; } 21 | vec4 getSpecParams( const vec2 coord ) { return texture( gbuf3, coord ).rgba; } 22 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredWrite.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | void setMatID( const float id ) { gl_FragData[0].a = id; } 13 | void setPos( const vec3 pos ) { gl_FragData[0].rgb = pos; } 14 | void setNormal( const vec3 normal ) { gl_FragData[1].rgb = normal; } 15 | void setAlbedo( const vec3 albedo ) { gl_FragData[2].rgb = albedo; } 16 | void setSpecParams( const vec3 specCol, const float gloss ) { gl_FragData[3].rgb = specCol; gl_FragData[3].a = gloss; } 17 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredWriteGL4.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | layout( location = 0 ) out vec4 fragData0; 13 | layout( location = 1 ) out vec4 fragData1; 14 | layout( location = 2 ) out vec4 fragData2; 15 | layout( location = 3 ) out vec4 fragData3; 16 | 17 | void setMatID( const float id ) { fragData0.a = id; } 18 | void setPos( const vec3 pos ) { fragData0.rgb = pos; } 19 | void setNormal( const vec3 normal ) { fragData1.rgb = normal; } 20 | void setAlbedo( const vec3 albedo ) { fragData2.rgb = albedo; } 21 | void setSpecParams( const vec3 specCol, const float gloss ) { fragData3.rgb = specCol; fragData3.a = gloss; } 22 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/fragDeferredWriteGLES3.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | layout( location = 0 ) out vec4 fragData0; 13 | layout( location = 1 ) out vec4 fragData1; 14 | layout( location = 2 ) out vec4 fragData2; 15 | layout( location = 3 ) out vec4 fragData3; 16 | 17 | void setMatID( const float id ) { fragData0.a = id; } 18 | void setPos( const vec3 pos ) { fragData0.rgb = pos; } 19 | void setNormal( const vec3 normal ) { fragData1.rgb = normal; } 20 | void setAlbedo( const vec3 albedo ) { fragData2.rgb = albedo; } 21 | void setSpecParams( const vec3 specCol, const float gloss ) { fragData3.rgb = specCol; fragData3.a = gloss; } 22 | -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/vertCommon.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Common functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMat; 13 | uniform mat4 worldMat; 14 | uniform mat3 worldNormalMat; 15 | 16 | 17 | vec4 calcWorldPos( const vec4 pos ) 18 | { 19 | return worldMat * pos; 20 | } 21 | 22 | vec4 calcViewPos( const vec4 pos ) 23 | { 24 | return viewMat * pos; 25 | } 26 | 27 | vec3 calcWorldVec( const vec3 vec ) 28 | { 29 | return worldNormalMat * vec; 30 | } 31 | 32 | mat3 calcTanToWorldMat( const vec3 tangent, const vec3 bitangent, const vec3 normal ) 33 | { 34 | return mat3( tangent, bitangent, normal ); 35 | } 36 | 37 | vec3 calcTanVec( const vec3 vec, const vec3 tangent, const vec3 bitangent, const vec3 normal ) 38 | { 39 | vec3 v; 40 | v.x = dot( vec, tangent ); 41 | v.y = dot( vec, bitangent ); 42 | v.z = dot( vec, normal ); 43 | return v; 44 | } -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/vertParticle.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Particle functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMatInv; 13 | uniform vec3 parPosArray[64]; 14 | uniform vec2 parSizeAndRotArray[64]; 15 | uniform vec4 parColorArray[64]; 16 | 17 | attribute float parIdx; 18 | 19 | 20 | vec4 getParticleColor() 21 | { 22 | return parColorArray[int( parIdx )]; 23 | } 24 | 25 | vec3 calcParticlePos( const vec2 texCoords ) 26 | { 27 | int index = int( parIdx ); 28 | vec3 camAxisX = viewMatInv[0].xyz; 29 | vec3 camAxisY = viewMatInv[1].xyz; 30 | 31 | vec2 cornerPos = texCoords - vec2( 0.5, 0.5 ); 32 | 33 | // Apply rotation 34 | float s = sin( parSizeAndRotArray[index].y ); 35 | float c = cos( parSizeAndRotArray[index].y ); 36 | cornerPos = mat2( c, -s, s, c ) * cornerPos; 37 | 38 | return parPosArray[index] + (camAxisX * cornerPos.x + camAxisY * cornerPos.y) * parSizeAndRotArray[index].x; 39 | } -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/vertParticleGL4.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Particle functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMatInv; 13 | uniform vec3 parPosArray[64]; 14 | uniform vec2 parSizeAndRotArray[64]; 15 | uniform vec4 parColorArray[64]; 16 | 17 | layout( location = 1 ) in float parIdx; 18 | 19 | 20 | vec4 getParticleColor() 21 | { 22 | return parColorArray[int( parIdx )]; 23 | } 24 | 25 | vec3 calcParticlePos( const vec2 texCoords ) 26 | { 27 | int index = int( parIdx ); 28 | vec3 camAxisX = viewMatInv[0].xyz; 29 | vec3 camAxisY = viewMatInv[1].xyz; 30 | 31 | vec2 cornerPos = texCoords - vec2( 0.5, 0.5 ); 32 | 33 | // Apply rotation 34 | float s = sin( parSizeAndRotArray[index].y ); 35 | float c = cos( parSizeAndRotArray[index].y ); 36 | cornerPos = mat2( c, -s, s, c ) * cornerPos; 37 | 38 | return parPosArray[index] + (camAxisX * cornerPos.x + camAxisY * cornerPos.y) * parSizeAndRotArray[index].x; 39 | } -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/shaders/utilityLib/vertParticleGLES3.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Particle functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMatInv; 13 | uniform vec3 parPosArray[64]; 14 | uniform vec2 parSizeAndRotArray[64]; 15 | uniform vec4 parColorArray[64]; 16 | 17 | layout( location = 1 ) in float parIdx; 18 | 19 | 20 | vec4 getParticleColor() 21 | { 22 | return parColorArray[int( parIdx )]; 23 | } 24 | 25 | vec3 calcParticlePos( const vec2 texCoords ) 26 | { 27 | int index = int( parIdx ); 28 | vec3 camAxisX = viewMatInv[0].xyz; 29 | vec3 camAxisY = viewMatInv[1].xyz; 30 | 31 | vec2 cornerPos = texCoords - vec2( 0.5, 0.5 ); 32 | 33 | // Apply rotation 34 | float s = sin( parSizeAndRotArray[index].y ); 35 | float c = cos( parSizeAndRotArray[index].y ); 36 | cornerPos = mat2( c, -s, s, c ) * cornerPos; 37 | 38 | return parPosArray[index] + (camAxisX * cornerPos.x + camAxisY * cornerPos.y) * parSizeAndRotArray[index].x; 39 | } -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/ambientMap.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/ambientMap.dds -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/common/defnorm.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/common/defnorm.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/common/white.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/common/white.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/models/layingrock.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/models/layingrock.jpg -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/models/layingrockBump.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/models/layingrockBump.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/particles/compParticle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/particles/compParticle.png -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/particles/computeParticle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/particles/computeParticle.png -------------------------------------------------------------------------------- /Horde3D/Binaries/Content/textures/particles/particle1.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Binaries/Content/textures/particles/particle1.tga -------------------------------------------------------------------------------- /Horde3D/Binaries/Windows/ColladaConv.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | CLS 3 | 4 | IF NOT "%1" == "" GOTO dragndrop 5 | 6 | REM Show arguments 7 | ColladaConv 8 | ECHO. 9 | 10 | SET cmdLine= 11 | SET /P cmdLine=Enter arguments: 12 | ECHO. 13 | 14 | ColladaConv %cmdLine% 15 | 16 | ECHO. 17 | GOTO exit 18 | 19 | 20 | :dragndrop 21 | 22 | SET outputDir=%~dp0..\..\Content 23 | SET baseDir=%~dp0..\..\Content 24 | IF NOT EXIST %outputDir%\models\%~n1 mkdir %outputDir%\models\%~n1 25 | copy %1 %outputDir%\models\%~n1 26 | 27 | %~d0 28 | cd %~dp0 29 | ColladaConv models\%~n1\%~nx1 -base %baseDir% -dest %outputDir% 30 | 31 | del %outputDir%\models\%~n1\%~nx1 32 | 33 | :exit 34 | 35 | PAUSE 36 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Horde3D .NET/Horde3D.NET.dll.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Chicago .NET/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 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 Horde3DNET.Samples.ChicagoNET.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Chicago .NET/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Chicago .NET/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Chicago .NET/readme_Chicago.txt: -------------------------------------------------------------------------------- 1 | Chicago .NET 2 | ------------ 3 | Horde3D .NET wrapper Sample Application 4 | --------------------------------------- 5 | 6 | Copyright (C) 2006-2007 Nicolas Schulz and Martin Burkhard 7 | Updated to 1.0 by Volker Wiendl 8 | 9 | 10 | 11 | This sample uses a simple crowd simulation to show how Horde3D can 12 | be used to render environments and a plenty of animated models. 13 | The demo supports forward and deferred rendering which can be 14 | selected by modifying the pipeline_Chicago.xml file. 15 | 16 | 17 | Input: 18 | 19 | Use WASD to move and the mouse to look around. 20 | Space freezes the scene. 21 | F1 toggles fullscreen mode. 22 | F7 toggles debug view. 23 | F9 toggles FPS display. 24 | ESC quits the application. 25 | 26 | 27 | Notes on content: 28 | 29 | The character model was created by Sirda from TurboSquid. 30 | Some of the textures are taken from the ATI Radeon SDK and are thus 31 | copyrighted by ATI Technologies, Inc. -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Knight .NET/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 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 Horde3DNET.Samples.KnightNET.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Knight .NET/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Knight .NET/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Knight .NET/readme_Knight.txt: -------------------------------------------------------------------------------- 1 | Knight .NET 2 | ----------- 3 | Horde3D .NET wrapper Sample Application 4 | --------------------------------------- 5 | 6 | Copyright (C) 2006-2007 Nicolas Schulz and Martin Burkhard 7 | Updated to 1.0 by Volker Wiendl 8 | 9 | 10 | This sample shows a knight model and enables you to blend freely between 11 | two different movements. The knight has a particle system attached to the 12 | tip of his sword which results in some interesting graphical effects. 13 | A simple radial blur post processing effect is applied to the scene to 14 | demonstrate the flexible rendering pipeline. 15 | 16 | 17 | Input: 18 | 19 | Use WASD to move and the mouse to look around. 20 | Use 1 and 2 to blend between character animations. 21 | Space freezes the scene. 22 | F1 toggles fullscreen mode. 23 | F7 toggles debug view. 24 | F9 toggles FPS and information display. 25 | ESC quits the application. 26 | 27 | 28 | Notes on content: 29 | 30 | The character model and animations were created by Rob Galanakis (www.robg3d.com) 31 | and are distributed under the terms of the Creative Commons Attribution- 32 | Noncommercial 3.0 License (http://creativecommons.org/licenses/by-nc/3.0/). -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/ParticleVortex.NET/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/ParticleVortex.NET/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("ParticleVortex.NET")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ParticleVortex.NET")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 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("a5dc4ec6-2a1a-4ccb-b6fc-f1d2cd69c220")] 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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/ParticleVortex.NET/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 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 ParticleVortex.NET.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/ParticleVortex.NET/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Tesselator.NET/App.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Tesselator.NET/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("Tesselator.NET")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("Tesselator.NET")] 13 | [assembly: AssemblyCopyright("Copyright © 2017")] 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("a5dc4ec6-2a1a-4ccb-b6fc-f1d2cd69c220")] 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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Tesselator.NET/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 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 Tesselator.NET.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.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 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C#/Source/Samples/Tesselator.NET/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3D/Bindings/C++/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 2 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 3 | 4 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 5 | install(FILES Horde3D.h Horde3DUtils.h 6 | DESTINATION include/horde3d 7 | ) 8 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 9 | 10 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 11 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") -------------------------------------------------------------------------------- /Horde3D/Bindings/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(C++) -------------------------------------------------------------------------------- /Horde3D/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_subdirectory(Source) 2 | if(HORDE3D_BUILD_EXAMPLES) 3 | add_subdirectory(Samples) 4 | endif(HORDE3D_BUILD_EXAMPLES) 5 | add_subdirectory(Bindings) 6 | add_subdirectory(Binaries) 7 | -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/docbg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/docbg.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/doclogo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/doclogo.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/navbg.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/navbg.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/navlink.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/navlink.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/navlogo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/navlogo.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/navminus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/navminus.gif -------------------------------------------------------------------------------- /Horde3D/Docs/html/images/navplus.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3D/Docs/html/images/navplus.gif -------------------------------------------------------------------------------- /Horde3D/Docs/manual.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Horde3D Documentation 5 | 6 | 22 | 23 | 24 | 25 | 28 |
29 |
30 | 31 |
32 |
33 | 34 |
35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Horde3D/Samples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(../Bindings/C++) 2 | include_directories(../../Extensions/Overlays/Bindings/C++) 3 | 4 | add_subdirectory(Framework) 5 | add_subdirectory(Chicago) 6 | add_subdirectory(Knight) 7 | add_subdirectory(ParticleVortex) 8 | add_subdirectory(Tessellator) 9 | 10 | IF(HORDE3D_USE_GLFW) 11 | include_directories(${GLFW_INCLUDE_DIR}) 12 | ENDIF(HORDE3D_USE_GLFW) 13 | 14 | IF (HORDE3D_USE_SDL) 15 | include_directories(${SDL2_INCLUDE_DIR}) 16 | ENDIF(HORDE3D_USE_SDL) -------------------------------------------------------------------------------- /Horde3D/Samples/Chicago/README.md: -------------------------------------------------------------------------------- 1 | # Chicago 2 | 3 | This sample uses a simple crowd simulation to show how Horde3D can 4 | be used to render environments and a plenty of animated models. 5 | The demo supports forward and deferred rendering which can be 6 | selected by modifying the pipeline_Chicago.xml file. 7 | 8 | ## Input 9 | 10 | * Use WASD to move and the mouse to look around. 11 | * Hold down LSHIFT to move faster. 12 | * Space freezes the scene, hitting space two times freezes the camera as well. 13 | * F1 sets fullscreen mode. 14 | * F3 switches between forward, hdr and deferred shading. 15 | * F6 toggles frame stats display. 16 | * F7 toggles debug view. 17 | * F8 toggles wireframe mode. 18 | * ESC quits the application. 19 | 20 | ## Notes on content 21 | 22 | The character model was created by Sirda from TurboSquid. 23 | Some of the textures are taken from the ATI Radeon SDK and are thus 24 | copyrighted by ATI Technologies, Inc. 25 | -------------------------------------------------------------------------------- /Horde3D/Samples/Chicago/app.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _app_H_ 18 | #define _app_H_ 19 | 20 | #include "../Framework/sampleapp.h" 21 | 22 | class CrowdSim; 23 | 24 | class ChicagoSample : public SampleApplication 25 | { 26 | public: 27 | ChicagoSample( int argc, char** argv ); 28 | 29 | protected: 30 | bool initResources(); 31 | void releaseResources(); 32 | 33 | void update(); 34 | 35 | private: 36 | CrowdSim *_crowdSim; 37 | }; 38 | 39 | #endif // _app_H_ 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Horde3D/Samples/Chicago/crowd.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _crowd_H_ 18 | #define _crowd_H_ 19 | 20 | #include "Horde3D.h" 21 | #include 22 | #include 23 | 24 | // Forward declarations 25 | class FrameworkBackend; 26 | 27 | struct Particle 28 | { 29 | float px, pz; // Current postition 30 | float dx, dz; // Destination position 31 | float fx, fz; // Force on particle 32 | float ox, oz; // Orientation vector 33 | H3DNode node; 34 | float animTime; 35 | 36 | 37 | Particle() 38 | { 39 | ox = 0; oz = 0; 40 | node = 0; 41 | animTime = 0; 42 | } 43 | }; 44 | 45 | 46 | class CrowdSim 47 | { 48 | public: 49 | CrowdSim( const std::string& contentDir ) : _contentDir( contentDir ) {} 50 | 51 | void init( FrameworkBackend *backend ); 52 | void update( float fps ); 53 | 54 | private: 55 | void chooseDestination( Particle &p ); 56 | 57 | private: 58 | std::string _contentDir; 59 | std::vector< Particle > _particles; 60 | }; 61 | 62 | #endif // _crowd_H_ 63 | -------------------------------------------------------------------------------- /Horde3D/Samples/Chicago/main.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | // For IOS we have to replace main function with SDL_main 18 | #if defined( __APPLE__ ) || defined( __APPLE_CC__ ) 19 | #include "AvailabilityMacros.h" 20 | #include "TargetConditionals.h" 21 | #if TARGET_OS_IPHONE 22 | #include "SDL_main.h" 23 | #ifdef __cplusplus 24 | extern "C" 25 | #endif 26 | #endif 27 | #endif 28 | 29 | #include "app.h" 30 | 31 | int main( int argc, char** argv ) 32 | { 33 | ChicagoSample app( argc, argv ); 34 | if ( !app.init() ) return 1; 35 | 36 | return app.run(); 37 | } 38 | -------------------------------------------------------------------------------- /Horde3D/Samples/Framework/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | add_library(SampleFramework STATIC "") 2 | 3 | if(HORDE3D_USE_GLFW) 4 | include_directories(${GLFW_INCLUDE_DIR}) 5 | 6 | target_sources( SampleFramework 7 | PRIVATE 8 | ${CMAKE_CURRENT_LIST_DIR}/sampleapp.cpp 9 | ${CMAKE_CURRENT_LIST_DIR}/GLFWFramework.cpp 10 | ${CMAKE_CURRENT_LIST_DIR}/GLFWFramework.h 11 | PUBLIC 12 | ${CMAKE_CURRENT_LIST_DIR}/sampleapp.h 13 | ${CMAKE_CURRENT_LIST_DIR}/FrameworkBackend.h) 14 | 15 | add_definitions( -DGLFW_BACKEND ) 16 | 17 | if (HORDE3D_FORCE_DOWNLOAD_GLFW) 18 | add_dependencies( SampleFramework project_glfw ) 19 | endif() 20 | elseif(HORDE3D_USE_SDL) 21 | include_directories(${SDL2_INCLUDE_DIR}) 22 | 23 | target_sources( SampleFramework 24 | PRIVATE 25 | ${CMAKE_CURRENT_LIST_DIR}/sampleapp.cpp 26 | ${CMAKE_CURRENT_LIST_DIR}/SDLFramework.cpp 27 | ${CMAKE_CURRENT_LIST_DIR}/SDLFramework.h 28 | PUBLIC 29 | ${CMAKE_CURRENT_LIST_DIR}/sampleapp.h 30 | ${CMAKE_CURRENT_LIST_DIR}/FrameworkBackend.h) 31 | 32 | add_definitions( -DSDL_BACKEND ) 33 | 34 | if (HORDE3D_FORCE_DOWNLOAD_SDL) 35 | add_dependencies( SampleFramework project_sdl ) 36 | endif() 37 | endif() 38 | 39 | # Sample framework should see generated config to get supported renderers 40 | include_directories( ${CMAKE_BINARY_DIR} ) 41 | 42 | #add_dependencies(SampleFramework project_glfw) 43 | -------------------------------------------------------------------------------- /Horde3D/Samples/Framework/GLFWFramework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "FrameworkBackend.h" 4 | 5 | #include "GLFW/glfw3.h" 6 | 7 | class GLFWBackend : public FrameworkBackend 8 | { 9 | public: 10 | 11 | virtual bool init( const BackendInitParameters ¶ms ) override; 12 | 13 | virtual void release() override; 14 | 15 | virtual void *createWindow( const WindowCreateParameters ¶ms ) override; 16 | 17 | virtual bool destroyWindow( void *handle ) override; 18 | 19 | virtual void processEvents() override; 20 | 21 | virtual void setWindowTitle( void *handle, const char *title ) override; 22 | 23 | virtual void setCursorVisible( void *handle, bool visible ) override; 24 | 25 | virtual void swapBuffers( void *handle ) override; 26 | 27 | virtual void getSize( void *handle, int *width, int *height ) override; 28 | 29 | virtual bool checkKeyDown( void *handle, int key ) override; 30 | 31 | virtual void logMessage( LogMessageLevel messageLevel, const char *msg ) override; 32 | 33 | virtual bool loadResources( const char *contentDir ) override; 34 | 35 | protected: 36 | 37 | // GLFW listeners. 38 | static void windowCloseListener( GLFWwindow* win ); 39 | static void windowResizeListener( GLFWwindow* win, int width, int height ); 40 | static void keyPressListener( GLFWwindow* win, int key, int scancode, int action, int mods ); 41 | static void mouseMoveListener( GLFWwindow* win, double x, double y ); 42 | static void mouseEnterListener( GLFWwindow* win, int entered ); 43 | 44 | 45 | 46 | protected: 47 | 48 | BackendInitParameters _usedInitParams; 49 | GLFWwindow *_wnd = nullptr; 50 | 51 | float _prevMouseX = 0; 52 | float _prevMouseY = 0; 53 | }; -------------------------------------------------------------------------------- /Horde3D/Samples/Framework/README.md: -------------------------------------------------------------------------------- 1 | # Horde3D Sample Framework 2 | 3 | This is a simple framework to create samples for *Horde3D Editor*. 4 | 5 | It provides common machinery and functionalities shared by all samples. 6 | -------------------------------------------------------------------------------- /Horde3D/Samples/Framework/SDLFramework.h: -------------------------------------------------------------------------------- 1 | #pragma once 2 | 3 | #include "FrameworkBackend.h" 4 | #include "SDL.h" 5 | 6 | class SDLBackend : public FrameworkBackend 7 | { 8 | 9 | virtual bool init( const BackendInitParameters ¶ms ) override; 10 | 11 | virtual void release() override; 12 | 13 | virtual void * createWindow( const WindowCreateParameters ¶ms ) override; 14 | 15 | virtual bool destroyWindow( void *handle ) override; 16 | 17 | virtual void setWindowTitle( void *handle, const char *title ) override; 18 | 19 | virtual void setCursorVisible( void *handle, bool visible ) override; 20 | 21 | virtual void swapBuffers( void *handle ) override; 22 | 23 | virtual void processEvents() override; 24 | 25 | virtual void getSize( void *handle, int *width, int *height ) override; 26 | 27 | virtual bool checkKeyDown( void *handle, int key ) override; 28 | 29 | virtual void logMessage( LogMessageLevel messageLevel, const char *msg ) override; 30 | 31 | virtual bool loadResources( const char *contentDir ) override; 32 | 33 | protected: 34 | 35 | BackendInitParameters _usedInitParams; 36 | SDL_Window *_wnd = nullptr; 37 | SDL_GLContext _ctx = nullptr; 38 | 39 | int _currentWidth; 40 | int _currentHeight; 41 | float _prevMouseX = 0; 42 | float _prevMouseY = 0; 43 | }; -------------------------------------------------------------------------------- /Horde3D/Samples/Knight/README.md: -------------------------------------------------------------------------------- 1 | # Knight 2 | 3 | This sample shows a knight model with reflections coming from a cube map. The 4 | pipeline applies high dynamic range lighting with simple tone mapping and a 5 | bloom effect. The knight has a particle system attached to the tip of his sword 6 | which results in some interesting graphical effects. Using the keyboard it is 7 | possible to blend seamlessly between two animations. 8 | 9 | 10 | ## Input 11 | 12 | * Use WASD to move and the mouse to look around. 13 | * Hold down LSHIFT to move faster. 14 | * Use 1 and 2 to blend between character animations. 15 | * Space freezes the scene, hitting space two times freezes the camera as well. 16 | * F1 sets fullscreen mode. 17 | * F3 switches between hdr, standard forward lighting and deferred shading. 18 | * F6 toggles frame stats and information display. 19 | * F7 toggles debug view. 20 | * F8 toggles wireframe mode. 21 | * ESC quits the application. 22 | 23 | ## Notes on content 24 | 25 | The character model and animations were created by Rob Galanakis (www.robg3d.com) 26 | and are distributed under the terms of the Creative Commons Attribution- 27 | Noncommercial 3.0 License (http://creativecommons.org/licenses/by-nc/3.0/). 28 | The cubemap texture is a modified version of one of M@dcow's high res skymaps 29 | which can be found at BlenderArtist.org. 30 | -------------------------------------------------------------------------------- /Horde3D/Samples/Knight/app.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _app_H_ 18 | #define _app_H_ 19 | 20 | #include "../Framework/sampleapp.h" 21 | #include 22 | 23 | 24 | class KnightSample : public SampleApplication 25 | { 26 | public: 27 | KnightSample( int argc, char** argv ); 28 | 29 | protected: 30 | bool initResources(); 31 | 32 | void update(); 33 | 34 | private: 35 | std::stringstream _text; 36 | float _animTime, _weight; 37 | 38 | // Engine objects 39 | H3DNode _knight, _particleSys; 40 | }; 41 | 42 | #endif // _app_H_ 43 | -------------------------------------------------------------------------------- /Horde3D/Samples/Knight/main.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | // For IOS we have to replace main function with SDL_main 18 | #if defined( __APPLE__ ) || defined( __APPLE_CC__ ) 19 | #include "AvailabilityMacros.h" 20 | #include "TargetConditionals.h" 21 | #if TARGET_OS_IPHONE 22 | #include "SDL_main.h" 23 | #ifdef __cplusplus 24 | extern "C" 25 | #endif 26 | #endif 27 | #endif 28 | 29 | #include "app.h" 30 | 31 | int main( int argc, char** argv ) 32 | { 33 | KnightSample app( argc, argv ); 34 | if ( !app.init() ) return 1; 35 | 36 | return app.run(); 37 | } 38 | -------------------------------------------------------------------------------- /Horde3D/Samples/ParticleVortex/README.md: -------------------------------------------------------------------------------- 1 | # Particle Vortex 2 | 3 | This sample shows particle simulation process using compute shaders. 4 | Currently up to 1 million particles are simulated. 5 | 6 | ## Input 7 | 8 | * Use WASD to move and the mouse to look around. 9 | * Hold down LSHIFT to move faster. 10 | * Space freezes the scene, hitting space two times freezes the camera as well. 11 | * F1 sets fullscreen mode. 12 | * F3 switches between hdr, standard forward lighting and deferred shading (currently works only with forward shading). 13 | * F6 toggles frame stats and information display. 14 | * F7 toggles debug view. 15 | * F8 toggles wireframe mode. 16 | * ESC quits the application. 17 | 18 | ## Notes on content 19 | 20 | This sample is inspired by GPU Particles DirectX 11 example, created by ForhaxeD. 21 | 22 | Link (in russian): https://habrahabr.ru/post/248755/ 23 | -------------------------------------------------------------------------------- /Horde3D/Samples/ParticleVortex/app.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _app_H_ 18 | #define _app_H_ 19 | 20 | #include "../Framework/sampleapp.h" 21 | 22 | class ParticleVortexSample : public SampleApplication 23 | { 24 | public: 25 | ParticleVortexSample( int argc, char** argv ); 26 | 27 | protected: 28 | bool initResources(); 29 | void releaseResources(); 30 | 31 | void update(); 32 | 33 | private: 34 | H3DNode _compNode; 35 | H3DRes _computeMatRes; 36 | float _animTime; 37 | unsigned int _computeGroupX; 38 | unsigned int _computeGroupY; 39 | }; 40 | 41 | #endif // _app_H_ 42 | 43 | 44 | 45 | -------------------------------------------------------------------------------- /Horde3D/Samples/ParticleVortex/main.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | // For IOS we have to replace main function with SDL_main 18 | #if defined( __APPLE__ ) || defined( __APPLE_CC__ ) 19 | #include "AvailabilityMacros.h" 20 | #include "TargetConditionals.h" 21 | #if TARGET_OS_IPHONE 22 | #include "SDL_main.h" 23 | #ifdef __cplusplus 24 | extern "C" 25 | #endif 26 | #endif 27 | #endif 28 | 29 | #include "app.h" 30 | 31 | int main( int argc, char** argv ) 32 | { 33 | ParticleVortexSample app( argc, argv ); 34 | if ( !app.init() ) return 1; 35 | 36 | return app.run(); 37 | } 38 | -------------------------------------------------------------------------------- /Horde3D/Samples/Tessellator/README.md: -------------------------------------------------------------------------------- 1 | # Tessellator 2 | 3 | This sample shows procedurally generated tessellatable mesh that resembles icosahedron. 4 | Tessellation levels can be adjusted. 5 | 6 | ## Input 7 | 8 | * Use WASD to move and the mouse to look around. 9 | * Hold down LSHIFT to move faster. 10 | * Space freezes the scene, hitting space two times freezes the camera as well. 11 | * Up/Down arrows to modify tessellation level of the mesh. 12 | * F1 sets fullscreen mode. 13 | * F3 switches between hdr, standard forward lighting and deferred shading (currently works only with forward shading). 14 | * F6 toggles frame stats and information display. 15 | * F7 toggles debug view. 16 | * F8 toggles wireframe mode. 17 | * ESC quits the application. 18 | 19 | ## Notes on content 20 | 21 | This sample is inspired by OpenGL tessellation example, created by Philip Rideout. Link: http://prideout.net/blog/?p=48 22 | -------------------------------------------------------------------------------- /Horde3D/Samples/Tessellator/app.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | #ifndef _app_H_ 18 | #define _app_H_ 19 | 20 | #include "../Framework/sampleapp.h" 21 | 22 | class TessellatorSample : public SampleApplication 23 | { 24 | public: 25 | TessellatorSample( int argc, char** argv ); 26 | 27 | protected: 28 | bool initResources(); 29 | void releaseResources(); 30 | 31 | virtual void keyEventHandler( int key, int keyState, int mods ); 32 | 33 | void update(); 34 | 35 | private: 36 | float _animTime; 37 | unsigned int _tessInner; 38 | unsigned int _tessOuter; 39 | 40 | float _rotation; 41 | 42 | H3DNode _model; 43 | 44 | bool _androidPlatform; 45 | }; 46 | 47 | #endif // _app_H_ 48 | 49 | 50 | 51 | -------------------------------------------------------------------------------- /Horde3D/Samples/Tessellator/main.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // 6 | // Sample Application 7 | // -------------------------------------- 8 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 9 | // 10 | // 11 | // This sample source file is not covered by the EPL as the rest of the SDK 12 | // and may be used without any restrictions. However, the EPL's disclaimer of 13 | // warranty and liability shall be in effect for this file. 14 | // 15 | // ************************************************************************************************* 16 | 17 | // For IOS we have to replace main function with SDL_main 18 | #if defined( __APPLE__ ) || defined( __APPLE_CC__ ) 19 | #include "AvailabilityMacros.h" 20 | #include "TargetConditionals.h" 21 | #if TARGET_OS_IPHONE 22 | #include "SDL_main.h" 23 | #ifdef __cplusplus 24 | extern "C" 25 | #endif 26 | #endif 27 | #endif 28 | 29 | #include "app.h" 30 | 31 | int main( int argc, char** argv ) 32 | { 33 | TessellatorSample app( argc, argv ); 34 | if ( !app.init() ) return 1; 35 | 36 | return app.run(); 37 | } 38 | -------------------------------------------------------------------------------- /Horde3D/Source/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | add_subdirectory(Horde3DEngine) 3 | add_subdirectory(Horde3DUtils) 4 | add_subdirectory(ColladaConverter) 5 | 6 | -------------------------------------------------------------------------------- /Horde3D/Source/ColladaConverter/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | include_directories(../Shared) 2 | 3 | # Do not build collada converter for ios or android 4 | if( (NOT ${CMAKE_SYSTEM_NAME} MATCHES "iOS") AND (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Android") ) 5 | add_executable(ColladaConv 6 | converter.h 7 | daeCommon.h 8 | daeLibAnimations.h 9 | daeLibControllers.h 10 | daeLibEffects.h 11 | daeLibGeometries.h 12 | daeLibImages.h 13 | daeLibMaterials.h 14 | daeLibVisualScenes.h 15 | daeMain.h 16 | optimizer.h 17 | utils.h 18 | converter.cpp 19 | daeMain.cpp 20 | main.cpp 21 | optimizer.cpp 22 | utils.cpp 23 | ) 24 | endif() 25 | -------------------------------------------------------------------------------- /Horde3D/Source/ColladaConverter/daeMain.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // -------------------------------------- 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // This software is distributed under the terms of the Eclipse Public License v1.0. 9 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 10 | // 11 | // ************************************************************************************************* 12 | 13 | #ifndef _daeMain_H_ 14 | #define _daeMain_H_ 15 | 16 | #include "utils.h" 17 | #include "daeLibImages.h" 18 | #include "daeLibEffects.h" 19 | #include "daeLibMaterials.h" 20 | #include "daeLibGeometries.h" 21 | #include "daeLibVisualScenes.h" 22 | #include "daeLibControllers.h" 23 | #include "daeLibAnimations.h" 24 | #include "daeLibNodes.h" 25 | 26 | namespace Horde3D { 27 | namespace ColladaConverter { 28 | 29 | 30 | class ColladaDocument 31 | { 32 | public: 33 | ColladaDocument(); 34 | bool parseFile( const std::string &fileName ); 35 | 36 | public: 37 | DaeLibImages libImages; 38 | DaeLibEffects libEffects; 39 | DaeLibMaterials libMaterials; 40 | DaeLibGeometries libGeometries; 41 | DaeLibVisScenes libVisScenes; 42 | DaeLibControllers libControllers; 43 | DaeLibAnimations libAnimations; 44 | DaeLibNodes libNodes; 45 | 46 | DaeVisualScene *scene; 47 | bool y_up; 48 | }; 49 | 50 | 51 | } // namespace ColladaConverter 52 | } // namespace Horde3D 53 | 54 | #endif // _daeMain_H_ 55 | -------------------------------------------------------------------------------- /Horde3D/Source/Horde3DEngine/egExtensions.cpp: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // -------------------------------------- 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // This software is distributed under the terms of the Eclipse Public License v1.0. 9 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 10 | // 11 | // ************************************************************************************************* 12 | 13 | #include "egExtensions.h" 14 | #include 15 | 16 | #include "utDebug.h" 17 | 18 | 19 | namespace Horde3D { 20 | 21 | ExtensionManager::~ExtensionManager() 22 | { 23 | for( uint32 i = 0; i < _extensions.size(); ++i ) 24 | { 25 | _extensions[i]->release(); 26 | delete _extensions[i]; 27 | } 28 | 29 | _extensions.clear(); 30 | } 31 | 32 | 33 | bool ExtensionManager::checkExtension( const std::string &name ) const 34 | { 35 | for( uint32 i = 0; i < _extensions.size(); ++i ) 36 | { 37 | if( strcmp( _extensions[i]->getName(), name.c_str() ) == 0 ) return true; 38 | } 39 | return false; 40 | } 41 | 42 | 43 | bool ExtensionManager::installExtension( IExtension *extension ) 44 | { 45 | _extensions.push_back( extension ); 46 | return _extensions.back()->init(); 47 | } 48 | 49 | } // namespace 50 | -------------------------------------------------------------------------------- /Horde3D/Source/Horde3DEngine/egExtensions_auto_include.h.in: -------------------------------------------------------------------------------- 1 | 2 | ${HORDE3D_EXTENSION_INCLUDES} 3 | 4 | 5 | -------------------------------------------------------------------------------- /Horde3D/Source/Horde3DEngine/egExtensions_auto_install.h.in: -------------------------------------------------------------------------------- 1 | 2 | ${HORDE3D_EXTENSION_INSTALLS} 3 | 4 | -------------------------------------------------------------------------------- /Horde3D/Source/Horde3DEngine/egPrerequisites.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // -------------------------------------- 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // This software is distributed under the terms of the Eclipse Public License v1.0. 9 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 10 | // 11 | // ************************************************************************************************* 12 | 13 | #ifndef _egPrerequisites_H_ 14 | #define _egPrerequisites_H_ 15 | 16 | #include "utPlatform.h" 17 | #include "config.h" 18 | 19 | 20 | namespace Horde3D { 21 | 22 | typedef int ResHandle; 23 | typedef int NodeHandle; 24 | 25 | } 26 | #endif // _egPrerequisites_H_ 27 | -------------------------------------------------------------------------------- /Horde3D/Source/Horde3DUtils/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | include_directories(../Shared) 3 | include_directories(../../Bindings/C++) 4 | 5 | # For all platforms except iOS, engine is built as shared library 6 | if (${CMAKE_SYSTEM_NAME} MATCHES "iOS") 7 | add_library(Horde3DUtils STATIC 8 | main.cpp 9 | ../../Bindings/C++/Horde3DUtils.h 10 | ) 11 | else() 12 | # Other platforms 13 | add_library(Horde3DUtils SHARED 14 | main.cpp 15 | ../../Bindings/C++/Horde3DUtils.h 16 | ) 17 | endif() 18 | 19 | target_link_libraries(Horde3DUtils Horde3D) 20 | 21 | if(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 22 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Windows") 23 | 24 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 25 | install(TARGETS Horde3DUtils 26 | RUNTIME DESTINATION bin 27 | LIBRARY DESTINATION lib 28 | ARCHIVE DESTINATION lib 29 | ) 30 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 31 | 32 | if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 33 | set_target_properties(Horde3DUtils PROPERTIES 34 | FRAMEWORK TRUE 35 | PUBLIC_HEADER "../../Bindings/C++/Horde3DUtils.h") 36 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin") 37 | -------------------------------------------------------------------------------- /Horde3D/Source/Shared/utDebug.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // Horde3D 4 | // Next-Generation Graphics Engine 5 | // -------------------------------------- 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // This software is distributed under the terms of the Eclipse Public License v1.0. 9 | // A copy of the license may be obtained at: http://www.eclipse.org/legal/epl-v10.html 10 | // 11 | // ************************************************************************************************* 12 | 13 | // This file should be included as the last include to all cpp files 14 | // If in Debug Mode, call _CrtDumpMemoryLeaks() at the end of the application 15 | 16 | #include "utPlatform.h" 17 | 18 | #if defined( PLATFORM_ANDROID) 19 | #include 20 | #endif 21 | 22 | #if defined( PLATFORM_WIN ) && defined( _MSC_VER ) && defined( _DEBUG ) 23 | 24 | #define _CRTDBG_MAP_ALLOC 25 | #include 26 | #include 27 | 28 | 29 | #define MYDEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) 30 | // Replace _NORMAL_BLOCK with _CLIENT_BLOCK if you want the allocations to be of _CLIENT_BLOCK type 31 | // Compile options needed: /Zi /D_DEBUG /MLd 32 | 33 | #define new MYDEBUG_NEW 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Horde3DEditor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | set(CMAKE_AUTOMOC ON) 2 | set(CMAKE_AUTOUIC ON) 3 | set(CMAKE_AUTORCC ON) 4 | set(CMAKE_INCLUDE_CURRENT_DIR ON) 5 | 6 | find_package(Qt5 COMPONENTS Widgets Gui Core Xml OpenGL) 7 | if( Qt5_FOUND ) 8 | SET(QT_LIBRARIES "Qt5::Widgets;Qt5::Gui;Qt5::Core;Qt5::Xml;Qt5::OpenGL") 9 | FUNCTION(QT4_ADD_RESOURCES) 10 | ENDFUNCTION(QT4_ADD_RESOURCES) 11 | else() 12 | find_package(Qt4 REQUIRED QtGui QtXml QtOpenGL QtCore) 13 | SET(QT_LIBRARIES "Qt4::QtGui;Qt4::QtXml;Qt4::QtCore;Qt4::QtOpenGL") 14 | endif() 15 | 16 | FIND_PACKAGE(Lua REQUIRED) 17 | 18 | add_subdirectory(src/EditorLib) 19 | add_subdirectory(src/QPropertyEditor) 20 | add_subdirectory(src/QXmlTree) 21 | add_subdirectory(src/tgaPlugIn) 22 | add_subdirectory(src/psdPlugIn) 23 | add_subdirectory(src/HordeSceneEditorCore) 24 | add_subdirectory(src/HordeSceneEditor) 25 | 26 | if(HORDE3D_BUILD_TERRAIN) 27 | add_subdirectory(src/QTerrainNodeExtension) 28 | add_subdirectory(src/TerrainToolPlugIn) 29 | endif(HORDE3D_BUILD_TERRAIN) 30 | -------------------------------------------------------------------------------- /Horde3DEditor/README.md: -------------------------------------------------------------------------------- 1 | Horde3D Editor v.0.10.1 2 | ======================= 3 | 4 | > Editor for the Horde3D Graphics Engine 5 | 6 | http://www.hcm-lab.de/Horde3DEditor 7 | 8 | After the installation, a precompiled executable is placed in the bin directory 9 | of the installation folder. 10 | 11 | The *Horde3D Editor* uses **Qt Framework** which can be found at: 12 | 13 | http://qt-project.org 14 | 15 | ## Contact 16 | 17 | * wiendl@informatik.uni-augsburg.de 18 | * kistler@informatik.uni-augsburg.de 19 | 20 | ## License 21 | 22 | Copyright (C) 2007-15 Volker Wiendl, Felix Kistler 23 | 24 | The Editor is licensed under the GNU General Public License (GPL). 25 | -------------------------------------------------------------------------------- /Horde3DEditor/src/EditorLib/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(EditorLib_SOURCES 2 | HighLighter.cpp 3 | LuaFunctions.cpp 4 | TextEdit.cpp 5 | ) 6 | 7 | SET(EditorLib_HEADERS 8 | LuaFunctions.h 9 | HighLighter.h 10 | TextEdit.h 11 | ) 12 | 13 | INCLUDE_DIRECTORIES("../../include" ${CMAKE_BINARY_DIR} ${LUA_INCLUDE_DIR}) 14 | 15 | #INCLUDE(${QT_USE_FILE}) 16 | 17 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 18 | 19 | ADD_LIBRARY( EditorLib STATIC ${EditorLib_SOURCES} ${EditorLib_HEADERS} ) 20 | 21 | TARGET_LINK_LIBRARIES( EditorLib ${LUA_LIBRARIES} ${QT_LIBRARIES} ) 22 | -------------------------------------------------------------------------------- /Horde3DEditor/src/EditorLib/LuaFunctions.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef LUAFUNCTIONS_H_ 24 | #define LUAFUNCTIONS_H_ 25 | 26 | struct lua_State; 27 | 28 | #include 29 | 30 | namespace Lua 31 | { 32 | QStringList functionList(lua_State* luaState); 33 | } 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/GameEnginePlugIn/PathPage.ui: -------------------------------------------------------------------------------- 1 | 2 | 3 | PathPage 4 | 5 | 6 | 7 | 0 8 | 0 9 | 380 10 | 64 11 | 12 | 13 | 14 | Form 15 | 16 | 17 | 18 | 19 | 20 | Media Directory: 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | ... 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | Script Directory: 41 | 42 | 43 | 44 | 45 | 46 | 47 | ... 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/AboutDialog.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #include "AboutDialog.h" 24 | 25 | 26 | AboutDialog::AboutDialog(const QString& message /*=QString()*/, QWidget* parent /*= 0*/, Qt::WindowFlags flags /*= 0*/) : QDialog(parent, flags) 27 | { 28 | setupUi(this); 29 | if (!message.isEmpty()) 30 | m_text->setText(message); 31 | } 32 | 33 | 34 | AboutDialog::~AboutDialog() 35 | { 36 | } 37 | 38 | 39 | 40 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/FindDialog.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef FINDDIALOG_H_ 24 | #define FINDDIALOG_H_ 25 | 26 | #include "ui_FindDialog.h" 27 | 28 | class FindDialog : public QDialog, protected Ui_FindDialog 29 | { 30 | Q_OBJECT 31 | public: 32 | static FindDialog* showFindDialog(QWidget* parent = 0); 33 | static void releaseDialog(); 34 | 35 | virtual ~FindDialog(); 36 | 37 | void accept(); 38 | 39 | signals: 40 | void find(const QString&); 41 | 42 | private: 43 | FindDialog(QWidget* parent = 0, Qt::WindowFlags flags = 0); 44 | 45 | static FindDialog* m_instance; 46 | 47 | 48 | }; 49 | #endif 50 | 51 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/HordeModelDialog.h: -------------------------------------------------------------------------------- 1 | #ifndef HORDEMODELDIALOG_H_ 2 | #define HORDEMODELDIALOG_H_ 3 | 4 | #include 5 | 6 | class GLWidget; 7 | class HordeSceneEditor; 8 | class QCameraNode; 9 | 10 | class HordeModelDialog : public HordeFileDialog 11 | { 12 | Q_OBJECT 13 | public: 14 | HordeModelDialog(const QString& targetPath, QWidget* parent = 0, Qt::WindowFlags flags = 0); 15 | virtual ~HordeModelDialog(); 16 | 17 | /** 18 | * Returns the selected model filename relative to the currently set Horde3D scenegraph path 19 | * @param parent widget the HordeFileDialog will be child of 20 | * @param caption string to be displayed as window caption 21 | * @return QString filename of the selected model 22 | */ 23 | static QString getModelFile(const QString& targetPath, QWidget* parent, const QString& caption); 24 | 25 | public slots: 26 | virtual void accept(); 27 | virtual void reject(); 28 | 29 | protected slots: 30 | virtual void itemChanged(QListWidgetItem* current, QListWidgetItem* previous); 31 | 32 | private slots: 33 | void importCollada(); 34 | 35 | private: 36 | void initModelViewer(); 37 | 38 | void loadModel(const QString& fileName, bool repoFile); 39 | void releaseModel(bool releaseUnused = true); 40 | 41 | GLWidget* m_glWidget; 42 | QPushButton* m_importButton; 43 | HordeSceneEditor* m_editorInstance; 44 | QWidget* m_glParentOriginal; 45 | QCameraNode* m_oldCamera; 46 | H3DRes m_envRes; 47 | 48 | unsigned int m_oldScene; 49 | unsigned int m_newScene; 50 | unsigned int m_currentModel; 51 | 52 | QCameraNode* m_viewCam; 53 | 54 | }; 55 | #endif 56 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/ImgLabel.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef IMGLABEL_H_ 24 | #define IMGLABEL_H_ 25 | 26 | #include 27 | 28 | class ImgLabel : public QLabel 29 | { 30 | Q_OBJECT 31 | public: 32 | ImgLabel(QWidget* parent = 0); 33 | virtual ~ImgLabel(); 34 | 35 | signals: 36 | void currentPixel(int x, int y); 37 | void zoomOut(); 38 | void zoomIn(); 39 | 40 | protected: 41 | void mouseMoveEvent(QMouseEvent* event); 42 | void wheelEvent(QWheelEvent* event); 43 | 44 | }; 45 | #endif -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/LuaBindingsHorde.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef LUABINDINGSHORDE_H_ 24 | #define LUABINDINGSHORDE_H_ 25 | 26 | 27 | extern "C" 28 | { 29 | #include 30 | } 31 | 32 | namespace Horde3D 33 | { 34 | 35 | /** 36 | * Registers all lua functions on the specified lua stack 37 | * @param L the lua stack to register the horde3d methods 38 | */ 39 | void registerLuaBindings (lua_State *L); 40 | } 41 | #endif 42 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/MiscToolBar.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #include "MiscToolBar.h" 24 | 25 | 26 | MiscToolBar::MiscToolBar(QWidget* parent /*= 0*/, Qt::WindowFlags flags /*= 0*/) : QWidget(parent, flags) 27 | { 28 | setupUi(this); 29 | } 30 | 31 | 32 | MiscToolBar::~MiscToolBar() 33 | { 34 | } 35 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/MiscToolBar.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef MISCTOOLBAR_H_ 24 | #define MISCTOOLBAR_H_ 25 | 26 | #include "ui_MiscToolBar.h" 27 | 28 | 29 | /** 30 | * Helper widget for adding navigation control to the toolbar 31 | */ 32 | class MiscToolBar : public QWidget, protected Ui_MiscToolBar 33 | { 34 | Q_OBJECT 35 | 36 | friend class HordeSceneEditor; 37 | 38 | public: 39 | MiscToolBar(QWidget* parent = 0, Qt::WindowFlags flags = 0); 40 | virtual ~MiscToolBar(); 41 | 42 | 43 | }; 44 | #endif 45 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/PlugInPage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef PLUGINPAGE_H_ 24 | #define PLUGINPAGE_H_ 25 | 26 | #include "ui_PlugInPage.h" 27 | #include 28 | 29 | class PlugInPage : public QWizardPage, protected Ui_PlugInPage 30 | { 31 | Q_OBJECT 32 | public: 33 | PlugInPage(QWidget* parent = 0); 34 | virtual ~PlugInPage(); 35 | 36 | void initializePage(); 37 | 38 | }; 39 | #endif 40 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/PlugInPage.ui: -------------------------------------------------------------------------------- 1 | 2 | PlugInPage 3 | 4 | 5 | 6 | 0 7 | 0 8 | 355 9 | 38 10 | 11 | 12 | 13 | Form 14 | 15 | 16 | 17 | 18 | 19 | 20 | 0 21 | 0 22 | 23 | 24 | 25 | PlugIn: 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | None 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QEmitterNodePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #ifndef QEMITTERNODEPAGE_H_ 23 | #define QEMITTERNODEPAGE_H_ 24 | 25 | #include 26 | 27 | #include "ui_QEmitterNodePage.h" 28 | /** 29 | * Wizard Page for creating a QEmitterNode 30 | */ 31 | class QEmitterNodePage : public QWizardPage, protected Ui_QEmitterNodePage 32 | { 33 | Q_OBJECT 34 | public: 35 | /** 36 | * \brief Constructor 37 | * @param parent widget that will be set as parent to the newly created page 38 | */ 39 | QEmitterNodePage(QWidget* parent = 0); 40 | /// Destructor 41 | virtual ~QEmitterNodePage(); 42 | 43 | void initializePage(); 44 | 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QGroupNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QGROUPNODE_H_ 24 | #define QGROUPNODE_H_ 25 | 26 | #include "QSceneNode.h" 27 | 28 | /** 29 | * A group node item for the SceneTreeModel 30 | */ 31 | class QGroupNode : public QSceneNode 32 | { 33 | Q_OBJECT 34 | Q_CLASSINFO("QGroupNode", "Group Specific"); 35 | 36 | public: 37 | static QSceneNode* loadNode(const QDomElement& xmlNode, int row, SceneTreeModel* model, QSceneNode* parent); 38 | 39 | QGroupNode(const QDomElement& xmlNode, int row, SceneTreeModel* model, QSceneNode* parentNode); 40 | virtual ~QGroupNode(); 41 | 42 | private: 43 | void addRepresentation(); 44 | 45 | }; 46 | #endif 47 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QGroupNodePage.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #include "QGroupNodePage.h" 24 | 25 | 26 | QGroupNodePage::QGroupNodePage(QWidget* parent /*= 0*/) : QWizardPage(parent) 27 | { 28 | setupUi(this); 29 | setTitle(tr("Add new group node")); 30 | setSubTitle(tr("A group node can contain different child nodes that will be affected by the group node's transformation." 31 | "Additionally a group node can be the scene graph representation for custom attachment nodes.")); 32 | registerField("name*", m_name); 33 | } 34 | 35 | 36 | QGroupNodePage::~QGroupNodePage() 37 | { 38 | } 39 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QGroupNodePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef GROUPNODEPAGE_H_ 24 | #define GROUPNODEPAGE_H_ 25 | 26 | #include "ui_QGroupNodePage.h" 27 | #include 28 | 29 | /** 30 | * Wizard Page for creating a QGroupNode 31 | */ 32 | class QGroupNodePage : public QWizardPage, protected Ui_QGroupNodePage 33 | { 34 | Q_OBJECT 35 | public: 36 | QGroupNodePage(QWidget* parent = 0); 37 | virtual ~QGroupNodePage(); 38 | 39 | 40 | }; 41 | #endif 42 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QGroupNodePage.ui: -------------------------------------------------------------------------------- 1 | 2 | QGroupNodePage 3 | 4 | 5 | 6 | 0 7 | 0 8 | 386 9 | 42 10 | 11 | 12 | 13 | Form 14 | 15 | 16 | 17 | 18 | 19 | Name: 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QJointNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #ifndef QJOINTNODE_H_ 23 | #define QJOINTNODE_H_ 24 | 25 | #include "QSceneNode.h" 26 | 27 | class QJointNode : public QSceneNode 28 | { 29 | Q_OBJECT 30 | Q_CLASSINFO("QJointNode", "Joint specific"); 31 | 32 | Q_PROPERTY(int Joint_Index READ jointIndex DESIGNABLE true USER true) 33 | 34 | public: 35 | static QSceneNode* loadNode(const QDomElement& xmlNode, int row, SceneTreeModel* model, QSceneNode* parent); 36 | 37 | QJointNode(const QDomElement& xmlNode, int row, SceneTreeModel* model, QSceneNode* parentNode); 38 | virtual ~QJointNode(); 39 | 40 | int jointIndex() const; 41 | 42 | private: 43 | void addRepresentation(); 44 | }; 45 | #endif 46 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QLightNodePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QLIGHTNODEPAGE_H_ 24 | #define QLIGHTNODEPAGE_H_ 25 | 26 | #include "ui_QLightNodePage.h" 27 | #include 28 | 29 | /** 30 | * Wizard Page for creating a QLightNode 31 | */ 32 | class QLightNodePage : public QWizardPage, protected Ui_QLightNodePage 33 | { 34 | Q_OBJECT 35 | public: 36 | QLightNodePage(QWidget* parent = 0); 37 | virtual ~QLightNodePage(); 38 | 39 | void initializePage(); 40 | }; 41 | #endif 42 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineBindBufferNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineBindBufferNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineBindBufferNode::QPipelineBindBufferNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINEBINDBUFFERNODE); 30 | } 31 | 32 | 33 | QPipelineBindBufferNode::~QPipelineBindBufferNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineBindBufferNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QPIPELINEBINDBUFFERNODE_H_ 24 | #define QPIPELINEBINDBUFFERNODE_H_ 25 | 26 | #include 27 | 28 | class QPipelineBindBufferNode : public QXmlTreeNode 29 | { 30 | Q_OBJECT 31 | public: 32 | QPipelineBindBufferNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 33 | virtual ~QPipelineBindBufferNode(); 34 | 35 | protected: 36 | // BindBuffer nodes don't have childnodes 37 | bool isKnown(const QString&) const {return false;} 38 | QXmlTreeNode* createChild(const QDomElement& /*childNode*/, int /*row*/) {return 0;} 39 | 40 | 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineCommandQueueNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #ifndef QPIPELINECOMMANDQUEUENODE_H_ 23 | #define QPIPELINECOMMANDQUEUENODE_H_ 24 | 25 | #include 26 | 27 | class QPipelineCommandQueueNode : public QXmlTreeNode 28 | { 29 | Q_OBJECT 30 | public: 31 | QPipelineCommandQueueNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 32 | virtual ~QPipelineCommandQueueNode(); 33 | 34 | protected: 35 | QXmlTreeNode* createChild(const QDomElement& childNode, int row); 36 | 37 | }; 38 | #endif -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineDoDeferredLightLoopNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineDoDeferredLightLoopNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineDoDeferredLightLoopNode::QPipelineDoDeferredLightLoopNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINEDODEFERREDLIGHTLOOPNODE); 30 | } 31 | 32 | 33 | QPipelineDoDeferredLightLoopNode::~QPipelineDoDeferredLightLoopNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineDrawOverlaysNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineDrawOverlaysNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineDrawOverlaysNode::QPipelineDrawOverlaysNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINEDRAWOVERLAYSNODE); 30 | } 31 | 32 | 33 | QPipelineDrawOverlaysNode::~QPipelineDrawOverlaysNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineDrawOverlaysNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QPIPELINEDRAWOVERLAYSNODE_H_ 24 | #define QPIPELINEDRAWOVERLAYSNODE_H_ 25 | 26 | #include 27 | 28 | class QPipelineDrawOverlaysNode : public QXmlTreeNode 29 | { 30 | Q_OBJECT 31 | public: 32 | QPipelineDrawOverlaysNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 33 | virtual ~QPipelineDrawOverlaysNode(); 34 | 35 | protected: 36 | // DrawOverlay nodes don't have childnodes 37 | bool isKnown(const QString&) const {return false;} 38 | QXmlTreeNode* createChild(const QDomElement& /*childNode*/, int /*row*/) {return 0;} 39 | 40 | 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineRenderTargetNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineRenderTargetNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineRenderTargetNode::QPipelineRenderTargetNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINERENDERTARGETNODE); 30 | } 31 | 32 | 33 | QPipelineRenderTargetNode::~QPipelineRenderTargetNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineRenderTargetNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QPIPELINERENDERTARGETNODE_H_ 24 | #define QPIPELINERENDERTARGETNODE_H_ 25 | 26 | #include 27 | 28 | class QPipelineRenderTargetNode : public QXmlTreeNode 29 | { 30 | Q_OBJECT 31 | public: 32 | QPipelineRenderTargetNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 33 | virtual ~QPipelineRenderTargetNode(); 34 | 35 | protected: 36 | // Render Targets don't have childnodes 37 | bool isKnown(const QString&) const {return false;} 38 | QXmlTreeNode* createChild(const QDomElement& /*childNode*/, int /*row*/) {return 0;} 39 | 40 | 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineSetUniformNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineSetUniformNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineSetUniformNode::QPipelineSetUniformNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINESETUNIFORMNODE); 30 | } 31 | 32 | 33 | QPipelineSetUniformNode::~QPipelineSetUniformNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineSetUniformNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QPIPELINESETUNIFORMNODE_H_ 24 | #define QPIPELINESETUNIFORMNODE_H_ 25 | 26 | #include 27 | 28 | class QPipelineSetUniformNode : public QXmlTreeNode 29 | { 30 | Q_OBJECT 31 | public: 32 | QPipelineSetUniformNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 33 | virtual ~QPipelineSetUniformNode(); 34 | 35 | protected: 36 | // SetUniform nodes don't have childnodes 37 | bool isKnown(const QString&) const {return false;} 38 | QXmlTreeNode* createChild(const QDomElement& /*childNode*/, int /*row*/) {return 0;} 39 | 40 | 41 | }; 42 | 43 | #endif 44 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineSetupNode.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QPIPELINESETUPNODE_H_ 24 | #define QPIPELINESETUPNODE_H_ 25 | 26 | #include 27 | 28 | class QPipelineSetupNode : public QXmlTreeNode 29 | { 30 | Q_OBJECT 31 | public: 32 | QPipelineSetupNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent = 0); 33 | virtual ~QPipelineSetupNode(); 34 | 35 | protected: 36 | QXmlTreeNode* createChild(const QDomElement& childNode, int row); 37 | 38 | }; 39 | #endif 40 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineSwitchTargetNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineSwitchTargetNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineSwitchTargetNode::QPipelineSwitchTargetNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINESWITCHTARGETNODE); 30 | } 31 | 32 | 33 | QPipelineSwitchTargetNode::~QPipelineSwitchTargetNode() 34 | { 35 | } 36 | 37 | QString QPipelineSwitchTargetNode::target() const 38 | { 39 | return m_xmlNode.attribute( "target" ); 40 | } 41 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QPipelineUnbindBuffersNode.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2012 Volker Vogelhuber 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #include "QPipelineUnbindBuffersNode.h" 23 | 24 | #include "QPipelineNode.h" 25 | 26 | QPipelineUnbindBuffersNode::QPipelineUnbindBuffersNode(const QDomElement& xmlNode, int row, QXmlTreeModel* model, QXmlTreeNode* parent /*= 0*/) : 27 | QXmlTreeNode(xmlNode, row, model, parent) 28 | { 29 | setProperty("Type", QPipelineNode::PIPELINEUNBINDBUFFERSNODE); 30 | } 31 | 32 | 33 | QPipelineUnbindBuffersNode::~QPipelineUnbindBuffersNode() 34 | { 35 | } 36 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QReferenceNodePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QREFERENCENODEPAGE_H_ 24 | #define QREFERENCENODEPAGE_H_ 25 | 26 | #include "ui_QReferenceNodePage.h" 27 | #include 28 | 29 | /** 30 | * Wizard Page for creating a QReferenceNode 31 | */ 32 | class QReferenceNodePage : public QWizardPage, protected Ui_QReferenceNodePage 33 | { 34 | Q_OBJECT 35 | public: 36 | QReferenceNodePage(QWidget* parent = 0); 37 | virtual ~QReferenceNodePage(); 38 | 39 | bool validatePage(); 40 | 41 | private slots: 42 | void setFile(); 43 | 44 | }; 45 | #endif 46 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/QReferenceNodePage.ui: -------------------------------------------------------------------------------- 1 | 2 | QReferenceNodePage 3 | 4 | 5 | 6 | 0 7 | 0 8 | 388 9 | 64 10 | 11 | 12 | 13 | Form 14 | 15 | 16 | 17 | 18 | 19 | Name: 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | File: 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | ... 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Cam2Node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Cam2Node.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Front.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Front.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Fullscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Fullscreen.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Horde3DEditor.appdata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Horde3DEditor.desktop 5 | CC0-1.0 6 | GPL-3.0+ 7 | Horde3D Editor 8 | Create 3D scenes compatible with Horde3D graphics engine 9 | 10 |

11 | Create 3D scenes compatible with Horde3D graphics engine, edit game-engine specific parameters. 12 |

13 |
14 | 15 | 16 | 17 | 20 | 21 | 22 | 23 | 24 | 25 | http://horde3d.org 26 | http://horde3d.org/contact.html 27 |
28 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Horde3DEditor.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Horde3D Editor 3 | Comment=Create 3D scenes compatible with Horde3D graphics engine 4 | Keywords=3D;editor;programming;scene; 5 | GenericName=Editor 6 | Exec="/usr/local/bin/Horde3DEditor" %u 7 | Icon=horde3deditor 8 | Terminal=false 9 | StartupNotify=true 10 | Type=Application 11 | Categories=Graphics;Development; 12 | MimeType=application/x-executable; 13 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Horde3DEditor.desktop.in: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Horde3D Editor 3 | Comment=Create 3D scenes compatible with Horde3D graphics engine 4 | Keywords=3D;editor;programming;scene; 5 | GenericName=Editor 6 | Exec="${CMAKE_INSTALL_PREFIX}/bin/Horde3DEditor" %u 7 | Icon=horde3deditor 8 | Terminal=false 9 | StartupNotify=true 10 | Type=Application 11 | Categories=Graphics;Development; 12 | MimeType=application/x-executable; 13 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Icon.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Move.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Move.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/New.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/New.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Node2Cam.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Node2Cam.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Open.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Repository.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Right.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/RootIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/RootIcon.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Rotate.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Rotate.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Save.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Save.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Top.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Top.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/Wireframe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/Wireframe.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/editor_16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/editor_16.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/editor_32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/editor_32.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/editor_48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/editor_48.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/editor_64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/editor_64.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/logo.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Resources/scale.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/Resources/scale.png -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/I_Love_Horde3D.lua: -------------------------------------------------------------------------------- 1 | if t == nil then 2 | t = -1; 3 | lasttime = os.clock() 4 | end 5 | if (os.clock() > lasttime + 0.2) then 6 | x = math.sin(t) * math.cos(t) * math.log(math.abs(t)) 7 | y = math.sqrt(math.abs(t)) * math.cos(t) 8 | Horde3D.setNodeTransform(3, x * 10, y * 10, 5, 0, 0, 0, 1, 1, 1) 9 | Horde3D.setNodeTransform(4, x * 20, y * 20 - 3.8, 0, 0, 0, 0, 1, 1, 1) 10 | lasttime = os.clock() 11 | end 12 | 13 | -- camX = math.cos(os.clock() * 0.2) 14 | -- camZ = math.sin(os.clock() * 0.2) 15 | 16 | --camRY = math.acos(camZ) * 180 / 3.141592 17 | --if (camX < 0) then 18 | -- camRY = 360 - camRY 19 | --end 20 | --Horde3D.setNodeTransform(5, camX * 20, 5, camZ * 20, 0, camRY, 0, 1, 1, 1) 21 | 22 | if (t >= 1) then 23 | t = -1 24 | else 25 | t = t + 0.01 26 | end -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/Particle.scn: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/materials/light.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/particles/particle.scene.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/particles/particle1.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/particles/particle1.particle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/particles/particle2.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/particles/particle2.particle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/pipelines/globalSettings.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/pipelines/postHDR.material.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/shaders/utilityLib/fragDeferredRead.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform sampler2D gbuf0; 13 | uniform sampler2D gbuf1; 14 | uniform sampler2D gbuf2; 15 | uniform sampler2D gbuf3; 16 | 17 | float getMatID( const vec2 coord ) { return texture2D( gbuf0, coord ).a; } 18 | vec3 getPos( const vec2 coord ) { return texture2D( gbuf0, coord ).rgb; } 19 | vec3 getNormal( const vec2 coord ) { return texture2D( gbuf1, coord ).rgb; } 20 | vec3 getAlbedo( const vec2 coord ) { return texture2D( gbuf2, coord ).rgb; } 21 | vec4 getSpecParams( const vec2 coord ) { return texture2D( gbuf3, coord ).rgba; } 22 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/shaders/utilityLib/fragDeferredReadGL4.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Deferred shading functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform sampler2D gbuf0; 13 | uniform sampler2D gbuf1; 14 | uniform sampler2D gbuf2; 15 | uniform sampler2D gbuf3; 16 | 17 | float getMatID( const vec2 coord ) { return texture( gbuf0, coord ).a; } 18 | vec3 getPos( const vec2 coord ) { return texture( gbuf0, coord ).rgb; } 19 | vec3 getNormal( const vec2 coord ) { return texture( gbuf1, coord ).rgb; } 20 | vec3 getAlbedo( const vec2 coord ) { return texture( gbuf2, coord ).rgb; } 21 | vec4 getSpecParams( const vec2 coord ) { return texture( gbuf3, coord ).rgba; } 22 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/shaders/utilityLib/vertParticle.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Particle functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMatInv; 13 | uniform vec3 parPosArray[64]; 14 | uniform vec2 parSizeAndRotArray[64]; 15 | uniform vec4 parColorArray[64]; 16 | 17 | attribute float parIdx; 18 | 19 | 20 | vec4 getParticleColor() 21 | { 22 | return parColorArray[int( parIdx )]; 23 | } 24 | 25 | vec3 calcParticlePos( const vec2 texCoords ) 26 | { 27 | int index = int( parIdx ); 28 | vec3 camAxisX = viewMatInv[0].xyz; 29 | vec3 camAxisY = viewMatInv[1].xyz; 30 | 31 | vec2 cornerPos = texCoords - vec2( 0.5, 0.5 ); 32 | 33 | // Apply rotation 34 | float s = sin( parSizeAndRotArray[index].y ); 35 | float c = cos( parSizeAndRotArray[index].y ); 36 | cornerPos = mat2( c, -s, s, c ) * cornerPos; 37 | 38 | return parPosArray[index] + (camAxisX * cornerPos.x + camAxisY * cornerPos.y) * parSizeAndRotArray[index].x; 39 | } -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/shaders/utilityLib/vertParticleGL4.glsl: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // Horde3D Shader Utility Library 3 | // -------------------------------------- 4 | // - Particle functions - 5 | // 6 | // Copyright (C) 2006-2021 Nicolas Schulz and Horde3D team 7 | // 8 | // You may use the following code in projects based on the Horde3D graphics engine. 9 | // 10 | // ************************************************************************************************* 11 | 12 | uniform mat4 viewMatInv; 13 | uniform vec3 parPosArray[64]; 14 | uniform vec2 parSizeAndRotArray[64]; 15 | uniform vec4 parColorArray[64]; 16 | 17 | layout( location = 1 ) in float parIdx; 18 | 19 | 20 | vec4 getParticleColor() 21 | { 22 | return parColorArray[int( parIdx )]; 23 | } 24 | 25 | vec3 calcParticlePos( const vec2 texCoords ) 26 | { 27 | int index = int( parIdx ); 28 | vec3 camAxisX = viewMatInv[0].xyz; 29 | vec3 camAxisY = viewMatInv[1].xyz; 30 | 31 | vec2 cornerPos = texCoords - vec2( 0.5, 0.5 ); 32 | 33 | // Apply rotation 34 | float s = sin( parSizeAndRotArray[index].y ); 35 | float c = cos( parSizeAndRotArray[index].y ); 36 | cornerPos = mat2( c, -s, s, c ) * cornerPos; 37 | 38 | return parPosArray[index] + (camAxisX * cornerPos.x + camAxisY * cornerPos.y) * parSizeAndRotArray[index].x; 39 | } -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/ambientMap.dds: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/ambientMap.dds -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/particles/logo.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/particles/logo.tga -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/particles/particle1.tga: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/SampleScenes/Particle/textures/particles/particle1.tga -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/SceneFilePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef SCENEFILEPAGE_H_ 24 | #define SCENEFILEPAGE_H_ 25 | 26 | #include "ui_SceneFilePage.h" 27 | #include 28 | 29 | /** 30 | * Wizard Page for creating a new SceneFile 31 | */ 32 | class SceneFilePage : public QWizardPage, protected Ui_SceneFilePage 33 | { 34 | Q_OBJECT 35 | public: 36 | SceneFilePage(QWidget* parent = 0); 37 | virtual ~SceneFilePage(); 38 | 39 | bool validatePage(); 40 | 41 | void initializePage(); 42 | 43 | private slots: 44 | void setScenePath(); 45 | 46 | }; 47 | #endif 48 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/Styles/default.qss: -------------------------------------------------------------------------------- 1 | /* empty stylesheet */ 2 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/icon1.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/HordeSceneEditor/icon1.ico -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/resource.h: -------------------------------------------------------------------------------- 1 | //{{NO_DEPENDENCIES}} 2 | // Microsoft Visual C++ generated include file. 3 | // Used by HordeSceneEditor.rc 4 | // 5 | #define IDI_ICON1 101 6 | 7 | // Next default values for new objects 8 | // 9 | #ifdef APSTUDIO_INVOKED 10 | #ifndef APSTUDIO_READONLY_SYMBOLS 11 | #define _APS_NEXT_RESOURCE_VALUE 102 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 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditor/resources.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | Resources/Cam2Node.png 4 | Resources/Front.png 5 | Resources/Fullscreen.png 6 | Resources/Icon.png 7 | Resources/Move.png 8 | Resources/New.png 9 | Resources/Node2Cam.png 10 | Resources/Open.png 11 | Resources/Repository.png 12 | Resources/Right.png 13 | Resources/RootIcon.png 14 | Resources/Rotate.png 15 | Resources/Save.png 16 | Resources/Top.png 17 | Resources/Wireframe.png 18 | Resources/logo.png 19 | Resources/scale.png 20 | 21 | 22 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/EffectProperty.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef EFFECTPROPERTY_H_ 24 | #define EFFECTPROPERTY_H_ 25 | 26 | #include 27 | 28 | class EffectProperty : public Property 29 | { 30 | Q_OBJECT 31 | public: 32 | EffectProperty(const QString& name = QString(), QObject* propertyObject = 0, QObject* parent = 0); 33 | virtual ~EffectProperty(); 34 | 35 | QVariant value(int role = Qt::UserRole) const; 36 | 37 | QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option); 38 | 39 | QVariant editorData(QWidget *editor); 40 | bool setEditorData(QWidget *editor, const QVariant& data); 41 | 42 | 43 | }; 44 | #endif 45 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/MaterialProperty.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef MATERIALPROPERTY_H_ 24 | #define MATERIALPROPERTY_H_ 25 | 26 | #include 27 | 28 | class MaterialProperty : public Property 29 | { 30 | Q_OBJECT 31 | public: 32 | MaterialProperty(const QString& name = QString(), QObject* propertyObject = 0, QObject* parent = 0); 33 | virtual ~MaterialProperty(); 34 | 35 | QVariant value(int role = Qt::UserRole) const; 36 | 37 | QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option); 38 | 39 | QVariant editorData(QWidget *editor); 40 | bool setEditorData(QWidget *editor, const QVariant& data); 41 | 42 | 43 | }; 44 | #endif 45 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/PipelineProperty.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef PIPELINEPROPERTY_H_ 24 | #define PIPELINEPROPERTY_H_ 25 | 26 | #include 27 | 28 | class PipelineProperty : public Property 29 | { 30 | Q_OBJECT 31 | public: 32 | PipelineProperty (const QString& name = QString(), QObject* propertyObject = 0, QObject* parent = 0); 33 | virtual ~PipelineProperty(); 34 | 35 | QVariant value(int role = Qt::UserRole) const; 36 | 37 | QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option); 38 | 39 | QVariant editorData(QWidget *editor); 40 | bool setEditorData(QWidget *editor, const QVariant& data); 41 | 42 | 43 | }; 44 | #endif 45 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/QHordeSceneEditorSettings.cpp: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor and was developed by Vurlix 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #include "QHordeSceneEditorSettings.h" 24 | #include 25 | #include 26 | 27 | QHordeSceneEditorSettings::QHordeSceneEditorSettings(QObject * parent) : 28 | #ifdef __APPLE__ 29 | QSettings("Horde3D.org", "HordeSceneEditor", parent) 30 | #else 31 | QSettings(QApplication::applicationDirPath()+QDir::separator()+"HordeSceneEditor.ini", QSettings::IniFormat, parent) 32 | #endif 33 | { 34 | } -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/QHordeSceneEditorSettings.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor and was developed by Vurlix 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef QHORDESCENEEDITORSETTINGS_H_ 24 | #define QHORDESCENEEDITORSETTINGS_H_ 25 | 26 | #include 27 | 28 | /** 29 | * x 30 | */ 31 | class QHordeSceneEditorSettings : public QSettings 32 | { 33 | public: 34 | QHordeSceneEditorSettings(QObject * parent = 0); 35 | }; 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/ShaderData.h: -------------------------------------------------------------------------------- 1 | #ifndef SHADERDATA_H_ 2 | #define SHADERDATA_H_ 3 | 4 | #include 5 | #include "QUniform.h" 6 | 7 | #if defined(_MSC_VER) && defined(_DEBUG) 8 | #define DEBUG_NEW new( _NORMAL_BLOCK, __FILE__, __LINE__ ) 9 | #define new DEBUG_NEW 10 | #endif 11 | 12 | struct ShaderFlag 13 | { 14 | int Flag; 15 | QString Name; 16 | 17 | bool operator==(const ShaderFlag& flag ) const { return Flag == flag.Flag; } 18 | }; 19 | 20 | class ShaderData : public QObject 21 | { 22 | public: 23 | ShaderData( QObject* parent = 0) : QObject(parent), m_valid( false ) {} 24 | ShaderData( const QByteArray& data, QObject* parent = 0 ); 25 | 26 | ~ShaderData(); 27 | 28 | bool isValid() const { return m_valid; } 29 | QString lastError() const { return m_lastError; } 30 | 31 | const QStringList& includeFiles() { return m_includedFiles; } 32 | const QStringList& textureFiles() { return m_textureFiles; } 33 | 34 | const QList& flags() { return m_flags; } 35 | 36 | private: 37 | bool loadShader( const QByteArray& data ); 38 | bool loadCode( const QByteArray& data ); 39 | bool loadFX( const QByteArray& data ); 40 | 41 | bool raiseError( const QString& error ); 42 | QList m_flags; 43 | QStringList m_includedFiles; 44 | QStringList m_textureFiles; 45 | QString m_lastError; 46 | bool m_valid; 47 | 48 | 49 | }; 50 | 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /Horde3DEditor/src/HordeSceneEditorCore/TextureProperty.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef TEXTUREPROPERTY_H_ 24 | #define TEXTUREPROPERTY_H_ 25 | 26 | #include 27 | 28 | class TextureProperty : public Property 29 | { 30 | Q_OBJECT 31 | public: 32 | TextureProperty(const QString& name = QString(), QObject* propertyObject = 0, QObject* parent = 0); 33 | virtual ~TextureProperty(); 34 | 35 | QVariant value(int role = Qt::UserRole) const; 36 | 37 | QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option); 38 | 39 | QVariant editorData(QWidget *editor); 40 | bool setEditorData(QWidget *editor, const QVariant& data); 41 | 42 | 43 | }; 44 | #endif 45 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QPropertyEditor/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(QPropertyEditor_SOURCES 2 | ColorCombo.cpp 3 | EnumProperty.cpp 4 | Property.cpp 5 | QPropertyEditorWidget.cpp 6 | QPropertyModel.cpp 7 | QVariantDelegate.cpp 8 | ) 9 | SET(QPropertyEditor_HEADERS 10 | ColorCombo.h 11 | EnumProperty.h 12 | Property.h 13 | QPropertyEditorWidget.h 14 | QPropertyModel.h 15 | QVariantDelegate.h 16 | ) 17 | 18 | SET(QT_USE_QTXML TRUE) 19 | 20 | INCLUDE_DIRECTORIES(../../include ${QT_INCLUDES} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ) 21 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 22 | 23 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 24 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 25 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 26 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 27 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 28 | 29 | ADD_LIBRARY( QPropertyEditor STATIC ${QPropertyEditor_SOURCES} ${QPropertyEditor_HEADERS} ) 30 | 31 | TARGET_LINK_LIBRARIES( QPropertyEditor ${QT_LIBRARIES} ) 32 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QPropertyEditor/ColorCombo.h: -------------------------------------------------------------------------------- 1 | // ************************************************************************************************* 2 | // 3 | // QPropertyEditor v 0.3 4 | // 5 | // -------------------------------------- 6 | // Copyright (C) 2007 Volker Wiendl 7 | // Acknowledgements to Roman alias banal from qt-apps.org for the Enum enhancement 8 | // 9 | // This library is free software; you can redistribute it and/or 10 | // modify it under the terms of the GNU Lesser General Public 11 | // License as published by the Free Software Foundation; either 12 | // version 2.1 of the License, or any later version. 13 | // 14 | // This library is distributed in the hope that it will be useful, 15 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | // Lesser General Public License for more details. 18 | // 19 | // You should have received a copy of the GNU Lesser General Public 20 | // License along with this library; if not, write to the Free Software 21 | // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 22 | // 23 | // ************************************************************************************************* 24 | 25 | 26 | #ifndef COLORCOMBO_H_ 27 | #define COLORCOMBO_H_ 28 | 29 | #include 30 | 31 | class ColorCombo : public QComboBox 32 | { 33 | Q_OBJECT 34 | public: 35 | ColorCombo(QWidget* parent = 0); 36 | virtual ~ColorCombo(); 37 | 38 | QColor color() const; 39 | void setColor(QColor c); 40 | 41 | private slots: 42 | void currentChanged(int index); 43 | 44 | private: 45 | QColor m_init; 46 | 47 | }; 48 | #endif 49 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QTerrainNodeExtension/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(QTerrainNodeExtension_SOURCES 2 | ExtTerrainPlugIn.cpp 3 | QTerrainNode.cpp 4 | QTerrainNodePage.cpp 5 | ) 6 | SET(QTerrainNodeExtension_HEADERS 7 | ExtTerrainPlugIn.h 8 | QTerrainNode.h 9 | QTerrainNodePage.h 10 | ) 11 | SET(QTerrainNodeExtension_FORMS 12 | QTerrainNodePage.ui 13 | ) 14 | 15 | 16 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 17 | add_definitions(-DQT_PLUGIN) 18 | add_definitions(-DQT_SHARED) 19 | SET(QT_USE_QTXML TRUE) 20 | 21 | INCLUDE_DIRECTORIES( "${CMAKE_CURRENT_SOURCE_DIR}/.." "${CMAKE_SOURCE_DIR}/Horde3D/Bindings/C++" "${CMAKE_SOURCE_DIR}/Extensions/Terrain/Bindings/C++" "${CMAKE_CURRENT_BINARY_DIR}") 22 | 23 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 24 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 25 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 26 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 27 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 28 | 29 | #MESSAGE(STATUS "CMAKE_RUNTIME_OUTPUT_DIRECTORY: ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}") 30 | SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/plugins) 31 | SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/plugins) 32 | 33 | MESSAGE(STATUS "Output to ${LIBRARY_OUTPUT_DIRECTORY} ${RUNTIME_OUTPUT_DIRECTORY}") 34 | 35 | ADD_LIBRARY( QTerrainNodeExtension SHARED ${QTerrainNodeExtension_SOURCES} ${QTerrainNodeExtension_HEADERS} ${QTerrainNodeExtension_FORMS} ) 36 | 37 | TARGET_LINK_LIBRARIES( QTerrainNodeExtension ${QT_LIBRARIES} HordeSceneEditorCore QXmlTree QPropertyEditor ${LUA_LIBRARIES} Horde3D Horde3DUtils ) 38 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QTerrainNodeExtension/ExtTerrainPlugIn.cpp: -------------------------------------------------------------------------------- 1 | #include "ExtTerrainPlugIn.h" 2 | 3 | #include "PlugInManager.h" 4 | #include "QTerrainNode.h" 5 | 6 | #include 7 | 8 | ExtTerrainPlugIn::ExtTerrainPlugIn(QObject* parent /*= 0*/) : QObject(parent) 9 | { 10 | 11 | } 12 | 13 | 14 | ExtTerrainPlugIn::~ExtTerrainPlugIn() 15 | { 16 | m_factory->unregisterSceneNode( extensionName() ); 17 | } 18 | 19 | void ExtTerrainPlugIn::setPlugInManager(PlugInManager *factory) 20 | { 21 | m_factory = factory; 22 | factory->registerSceneNode( extensionName(), QTerrainNode::loadNode, QTerrainNode::createNode ); 23 | } 24 | 25 | void ExtTerrainPlugIn::registerLuaFunctions(lua_State *lua) 26 | { 27 | } -------------------------------------------------------------------------------- /Horde3DEditor/src/QTerrainNodeExtension/ExtTerrainPlugIn.h: -------------------------------------------------------------------------------- 1 | #ifndef EXTTERRAINPLUGIN_H_ 2 | #define EXTTERRAINPLUGIN_H_ 3 | 4 | #include 5 | 6 | #include "ExtSceneNodePlugIn.h" 7 | 8 | class ExtTerrainPlugIn : public QObject, public ExtSceneNodePlugIn 9 | { 10 | Q_OBJECT 11 | Q_INTERFACES(ExtSceneNodePlugIn) 12 | #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) 13 | Q_PLUGIN_METADATA(IID "HordeSceneEditor.ExtSceneNodePlugIn/1.0") 14 | #endif 15 | public: 16 | ExtTerrainPlugIn(QObject* parent = 0); 17 | virtual ~ExtTerrainPlugIn(); 18 | 19 | QString extensionName() const { return "Terrain"; } 20 | 21 | void setPlugInManager(PlugInManager* factory); 22 | 23 | void registerLuaFunctions(lua_State* lua); 24 | 25 | private: 26 | PlugInManager* m_factory; 27 | }; 28 | #endif 29 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QTerrainNodeExtension/QTerrainNodePage.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | #ifndef QTERRAINNODEPAGE_H_ 23 | #define QTERRAINNODEPAGE_H_ 24 | 25 | #include 26 | 27 | #include "./ui_QTerrainNodePage.h" 28 | 29 | class QTerrainNodePage : public QWizardPage, protected Ui_QTerrainNodePage 30 | { 31 | Q_OBJECT 32 | public: 33 | QTerrainNodePage(QWidget* parent = 0); 34 | virtual ~QTerrainNodePage(); 35 | 36 | void initializePage(); 37 | 38 | }; 39 | #endif 40 | -------------------------------------------------------------------------------- /Horde3DEditor/src/QXmlTree/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(QT_USE_QTXML TRUE) 2 | 3 | SET(QXmlTree_SOURCES 4 | QXmlTreeModel.cpp 5 | QXmlTreeNode.cpp 6 | QXmlTreeUndoCommands.cpp 7 | QXmlTreeView.cpp 8 | ) 9 | 10 | SET(QXmlTree_HEADERS 11 | QXmlTreeUndoCommands.h 12 | QXmlTreeModel.h 13 | QXmlTreeNode.h 14 | QXmlTreeView.h 15 | ) 16 | 17 | INCLUDE_DIRECTORIES(../../include ${QT_INCLUDES} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Core_INCLUDE_DIRS} ${Qt5Xml_INCLUDE_DIRS} ) 18 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 19 | 20 | ADD_LIBRARY( QXmlTree STATIC ${QXmlTree_SOURCES} ${QXmlTree_HEADERS} ) 21 | 22 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 23 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 24 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 25 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 26 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 27 | 28 | TARGET_LINK_LIBRARIES( QXmlTree ) 29 | -------------------------------------------------------------------------------- /Horde3DEditor/src/TerrainToolPlugIn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(TerrainToolPlugIn_SOURCES 2 | ConverterWizard.cpp 3 | TerrainToolPlugIn.cpp 4 | ) 5 | SET(TerrainToolPlugIn_HEADERS 6 | ConverterWizard.h 7 | TerrainToolPlugIn.h 8 | ) 9 | SET(TerrainToolPlugIn_FORMS 10 | ConverterWizard.ui 11 | ) 12 | 13 | SET(QT_USE_QTXML TRUE) 14 | 15 | 16 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 17 | 18 | if(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 19 | if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 20 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") 21 | endif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64") 22 | endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") 23 | 24 | ADD_LIBRARY( TerrainToolPlugIn SHARED ${TerrainToolPlugIn_SOURCES} ${TerrainToolPlugIn_FORMS} ${TerrainToolPlugIn_HEADERS} ) 25 | 26 | TARGET_LINK_LIBRARIES( TerrainToolPlugIn ${QT_LIBRARIES} HordeSceneEditorCore ${LUA_LIBRARIES} ) 27 | -------------------------------------------------------------------------------- /Horde3DEditor/src/TerrainToolPlugIn/ConverterWizard.h: -------------------------------------------------------------------------------- 1 | // **************************************************************************************** 2 | // 3 | // Horde3D Scene Editor 4 | // -------------------------------------- 5 | // Copyright (C) 2007 Volker Wiendl 6 | // 7 | // This file is part of the Horde3D Scene Editor. 8 | // 9 | // The Horde3D Scene Editor is free software; you can redistribute it and/or modify 10 | // it under the terms of the GNU General Public License as published by 11 | // the Free Software Foundation version 3 of the License 12 | // 13 | // The Horde3D Scene Editor is distributed in the hope that it will be useful, 14 | // but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 | // GNU General Public License for more details. 17 | // 18 | // You should have received a copy of the GNU General Public License 19 | // along with this program. If not, see . 20 | // 21 | // **************************************************************************************** 22 | 23 | #ifndef CONVERTERWIZARD_H_ 24 | #define CONVERTERWIZARD_H_ 25 | 26 | #include "./ui_ConverterWizard.h" 27 | 28 | #include 29 | 30 | class ConverterWizard : public QWizardPage, protected Ui_ConverterWizard 31 | { 32 | Q_OBJECT 33 | public: 34 | ConverterWizard(QWidget* parent = 0); 35 | virtual ~ConverterWizard(); 36 | 37 | bool validatePage(); 38 | 39 | private slots: 40 | void setHeightMap(); 41 | 42 | }; 43 | #endif 44 | -------------------------------------------------------------------------------- /Horde3DEditor/src/psdPlugIn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(qpsd_SOURCES 2 | main.cpp 3 | qpsdhandler.cpp 4 | ) 5 | SET(qpsd_HEADERS 6 | qpsdhandler.h 7 | ) 8 | 9 | INCLUDE_DIRECTORIES("../../include" "${CMAKE_CURRENT_BINARY_DIR}") 10 | 11 | #INCLUDE(${QT_USE_FILE}) 12 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 13 | 14 | ADD_LIBRARY( qpsd SHARED ${qpsd_SOURCES} ) 15 | 16 | TARGET_LINK_LIBRARIES( qpsd ${QT_LIBRARIES} ) 17 | -------------------------------------------------------------------------------- /Horde3DEditor/src/psdPlugIn/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/psdPlugIn/main.cpp -------------------------------------------------------------------------------- /Horde3DEditor/src/psdPlugIn/qpsdhandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/psdPlugIn/qpsdhandler.cpp -------------------------------------------------------------------------------- /Horde3DEditor/src/tgaPlugIn/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | SET(qtga_SOURCES 2 | main.cpp 3 | qtgahandler.cpp 4 | ) 5 | SET(qtga_HEADERS 6 | qtgahandler.h 7 | ) 8 | 9 | 10 | INCLUDE_DIRECTORIES("../../include" "${CMAKE_CURRENT_BINARY_DIR}") 11 | ADD_DEFINITIONS(${QT_DEFINITIONS}) 12 | 13 | ADD_LIBRARY( qtga SHARED 14 | ${qtga_SOURCES} 15 | ${qtga_HEADERS} 16 | ) 17 | 18 | TARGET_LINK_LIBRARIES( qtga ${QT_LIBRARIES} ) 19 | -------------------------------------------------------------------------------- /Horde3DEditor/src/tgaPlugIn/qtgahandler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/horde3d/Horde3D/c1da0c8319d8f29f947e119ca993d32068396b51/Horde3DEditor/src/tgaPlugIn/qtgahandler.cpp --------------------------------------------------------------------------------