Last active
August 7, 2017 11:56
-
-
Save nddrylliog/a3ff1d8ff8cc887dd311 to your computer and use it in GitHub Desktop.
Revisions
-
nddrylliog revised this gist
May 29, 2014 . 1 changed file with 6 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,12 +1,16 @@ The next steps would go along the lines of this: * [x] Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * [x] Create a project that contains dependencies ([yaml-cpp][], etc.) * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment (done: [yaml-cpp][]) * [ ] Find out how to deal with sound in Ogre (done: [OgreOggSound][] based on OpenAL) * [x] Try to load existing 3D models into the barebones project * [x] Try a few compositors / mess around with shader techniques to see what kind of look we can achieve * [ ] Implement the navigation engine inside the barebones project * [ ] Implement the story engine inside the barebones project [yaml-cpp]: https://code.google.com/p/yaml-cpp/ [OgreOggSound]: http://www.ogre3d.org/tikiwiki/OgreOggSound None of these are solved yet, and they're not in any particular order, but things are looking okay. -
nddrylliog revised this gist
May 29, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -5,7 +5,7 @@ The next steps would go along the lines of this: * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [x] Try to load existing 3D models into the barebones project * [x] Try a few compositors / mess around with shader techniques to see what kind of look we can achieve * [ ] Implement the navigation engine inside the barebones project * [ ] Implement the story engine inside the barebones project -
nddrylliog revised this gist
May 29, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,7 +4,7 @@ The next steps would go along the lines of this: * [x] Create a project that contains dependencies (yaml-cpp, etc.) * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [x] Try to load existing 3D models into the barebones project * [ ] Try a few compositors / mess around with shader techniques to see what kind of look we can achieve * [ ] Implement the navigation engine inside the barebones project * [ ] Implement the story engine inside the barebones project -
nddrylliog revised this gist
May 29, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,7 @@ The next steps would go along the lines of this: * [x] Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * [x] Create a project that contains dependencies (yaml-cpp, etc.) * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [ ] Try to load existing 3D models into the barebones project -
nddrylliog revised this gist
May 29, 2014 . 2 changed files with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,6 +1,7 @@ The next steps would go along the lines of this: * [x] Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * [ ] Create a project that contains dependencies (yaml-cpp, etc.) * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [ ] Try to load existing 3D models into the barebones project This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,4 +1,3 @@ ### tse-ogre build #### Windows -
nddrylliog revised this gist
May 27, 2014 . 1 changed file with 1 addition and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,7 +1,6 @@ The next steps would go along the lines of this: * [x] Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [ ] Try to load existing 3D models into the barebones project -
nddrylliog revised this gist
May 27, 2014 . 3 changed files with 63 additions and 124 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -20,15 +20,10 @@ Materials are pretty much texture/lighting definitions, made out of techniques, Compositor are for full-screen post-processing, particles are self-explanatory, overlays are for 2D UI on top of the 3D scene. ## Ogredeps The [ogredeps][] package includes: [ogredeps]: https://bitbucket.org/cabalistic/ogredeps - AMD_Quad_Buffer_SDK_v11 @@ -37,44 +32,20 @@ At first I tried to build Ogre 1.8.1, following [OSX+CMake command-line instruct - NVAPI-R313-developer - freetype - ois - zlib & zziplib - Ogre has some kind of built-in archive system to load resources, freetype is used to load truetype fonts directly (compare/contrast with libgdx's Hiero that creates bitmap fonts out-of-engine), [ois][] seems to be used for input devices, [Cg][] is nVidia's shader toolkit, FreeImage is for texture loading. [ois]: http://sourceforge.net/projects/wgois/ [Cg]: https://developer.nvidia.com/cg-toolkit ## Building on OSX Platform: OSX 10.9 Mavericks, XCode 5, homebrew #### Just use pre-built There are pre-built versions of the dependencies in the [ogre-dependencies-mac][] sourceforge project. [ogre-dependencies-mac]: http://sourceforge.net/projects/ogre/files/ogre-dependencies-mac/ @@ -173,91 +144,3 @@ I'm still in the process of **evaluating Ogre3D** for the purpose of a native pl **CMake** is confusing at first, but it's very powerful and obviously a lot more than an autoconf replacement. It can generate Unix Makefiles (for Linux/SteamOS/etc.), XCode projects (first-class citizen on OSX), VisualStudio solutions (first-class citizen on Windows). Using it would be a clear departure from my habits (which are to take the road less travelled). It also means cross-compilation isn't an option in the short term, so no automated builds, and since the compilation environment setup process is rather complex, no hope for non-devs to build the game themselves. (However, Ogre3D scripts + in-house editors alleviate this problem). This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,12 @@ The next steps would go along the lines of this: * [ ] Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * [ ] Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * [ ] Find out how to deal with YAML/JSON in a C++ environment * [ ] Try to load existing 3D models into the barebones project * [ ] Try a few compositors / mess around with shader techniques to see what kind of look we can achieve * [ ] Implement the navigation engine inside the barebones project * [ ] Implement the story engine inside the barebones project None of these are solved yet, and they're not in any particular order, but things are looking okay. This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,44 @@ ### tse-ogre build #### Windows Possible on the command-line. In Git bash: ``` cmake -G "Visual Studio 10" .. ``` In Visual Studio Command Prompt: ``` msbuild /p:Configuration=Release INSTALL.vcxproj ``` (configuration can be Release, Debug, RelWithDebInfo) #### OSX ``` cmake -G "Xcode" .. ``` Then: ``` xcodebuild -target install -configuration Release ``` #### Linux ``` cmake .. ``` Then: ``` make install -j4 ``` -
nddrylliog revised this gist
May 27, 2014 . 1 changed file with 23 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -226,7 +226,7 @@ Possible on the command-line. In Git bash: ``` cmake -G "Visual Studio 10" .. ``` In Visual Studio Command Prompt: @@ -237,5 +237,27 @@ msbuild /p:Configuration=Release INSTALL.vcxproj (configuration can be Release, Debug, RelWithDebInfo) #### OSX ``` cmake -G "Xcode" .. ``` Then: ``` xcodebuild -target install -configuration Release ``` #### Linux ``` cmake .. ``` Then: ``` make install -j4 ``` -
nddrylliog revised this gist
May 26, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -226,7 +226,7 @@ Possible on the command-line. In Git bash: ``` cmake -G "Visual Studio 10" --config Release .. ``` In Visual Studio Command Prompt: -
nddrylliog revised this gist
May 26, 2014 . 1 changed file with 21 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -217,4 +217,25 @@ Timing: Note: RelWithDebInfo target doesn't work. Debug or Release work I think. ### tse-ogre build #### Windows Possible on the command-line. In Git bash: ``` cmake -G "Visual Studio 10" .. ``` In Visual Studio Command Prompt: ``` msbuild /p:Configuration=Release INSTALL.vcxproj ``` (configuration can be Release, Debug, RelWithDebInfo) -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -193,7 +193,7 @@ None of these are solved yet, and they're not in any particular order, but thing ``` cmake -G Xcode -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=$PWD/ogredeps .. xcodebuild -configuration RelWithDebInfo -target install ``` Timing: -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 3 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -206,14 +206,15 @@ Timing: ``` cmake -G Xcode -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=$HOME/Dev/ogre/OgreSDK -DOGRE_DEPENDENCIES_DIR=$HOME/Dev/ogre/ogredeps/build/ogredeps .. xcodebuild -configuration Debug -target install ``` Timing: ``` 597.63s user 67.89s system 339% cpu 3:16.08 total ``` Note: RelWithDebInfo target doesn't work. Debug or Release work I think. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 32 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -185,3 +185,35 @@ The next steps would go along the lines of this: None of these are solved yet, and they're not in any particular order, but things are looking okay. ## In-progress work ### OSX command-line build #### ogredeps ``` cmake -G Xcode -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=$PWD/ogredeps .. time xcodebuild -configuration RelWithDebInfo -target install ``` Timing: ``` 429.63s user 33.03s system 580% cpu 1:19.73 total ``` #### ogre ``` cmake -G Xcode -DCMAKE_OSX_DEPLOYMENT_TARGET=10.7 -DCMAKE_INSTALL_PREFIX=$HOME/Dev/ogre/OgreSDK -DOGRE_DEPENDENCIES_DIR=$HOME/Dev/ogre/ogredeps/build/ogredeps .. ``` Timing: ``` ``` -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 6 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -123,6 +123,8 @@ The Ogre sample launcher is very nice, touch-enabled, there are 77 samples in 1. The Cg samples didn't seem to run even though ogredeps contains Cg. Maybe Cg needs to be installed separately from the official nVidia website? The Geometry shader things (particles, etc.) didn't work. The CPU-based particle system sample worked fine. ## Building on Windows Platform: Windows 8.1 Pro, Visual Studio C++ 2010 Express, DX SDK, TortoiseHg, CMake GUI @@ -141,6 +143,8 @@ Windows notes: Sample launcher worked fine, but the DX11 backends had graphical UI glitches and the demos didn't display anything coherent. The DX9 backend worked fine. I didn't test the OpenGL backend. The Geometry shader things (particles, etc.) didn't work on the DX9 backend - I suspect they're DX11-only. The CPU-based particle system sample worked fine. ## Building on Linux Platform: Debian 3.14.2-1 (2014-04-28) x86_64, cmake command-line, mercurial commandline @@ -161,6 +165,8 @@ I had only installed the 32-bit version, build failed with a link error, install For the 64-bit package, libs were installed to /usr/lib64 and thus not picked up by cmake/make. Had to symlink them to /usr/lib for it to find it. 2nd try: With Cg support in, everything works fine, including the BSP demo and the normal mapping thing. Which only yields more questions because I thought during my OSX tests that Cg support was not there, yet it seemed to work fine? Weird. ## Afterthoughts I'm still in the process of **evaluating Ogre3D** for the purpose of a native platform for TSE's final version. My motivations are to get rid of Java, and the rationale is the following: Java is good and convenient for iterating quickly (no compilation times, everyone can run Eclipse, etc.) - but it's not so good for distribution itself (use exe4j? gcj is dead, Java on OSX & Linux are a mess, nobody likes Java runtime in general). Most of the 'intelligence' of the game resides in the editors (web-based) so making even a C++ version of the game shouldn't be too costly. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -159,6 +159,8 @@ Installed the .deb package the [nvidia cg download][] page, rebuilding ogre. I had only installed the 32-bit version, build failed with a link error, installing the x64 package now! Seems it unpacked 'over' the 32-bit version, so both can't be installed alongside. Will have to resort to chroots or VMs to build for both 32 and 64-bit Linux. Note that the deb package installed fine on Debian unstable so they're not Ubuntu-exclusive. For the 64-bit package, libs were installed to /usr/lib64 and thus not picked up by cmake/make. Had to symlink them to /usr/lib for it to find it. ## Afterthoughts I'm still in the process of **evaluating Ogre3D** for the purpose of a native platform for TSE's final version. My motivations are to get rid of Java, and the rationale is the following: Java is good and convenient for iterating quickly (no compilation times, everyone can run Eclipse, etc.) - but it's not so good for distribution itself (use exe4j? gcj is dead, Java on OSX & Linux are a mess, nobody likes Java runtime in general). Most of the 'intelligence' of the game resides in the editors (web-based) so making even a C++ version of the game shouldn't be too costly. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 9 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,6 +22,8 @@ Compositor are for full-screen post-processing, particles are self-explanatory, ## Building on OSX Platform: OSX 10.9 Mavericks, XCode 5, homebrew ### Ogredeps At first I tried to build Ogre 1.8.1, following [OSX+CMake command-line instructions][osx-instructions]. I grabbed the [ogredeps][] package to try and get all the dependencies built before even attempting to build Ogre3D itself. At the time of this writing, they include: @@ -113,6 +115,8 @@ Things I had to change in the OGRE project globally: Full build time was probably between 5-10 minutes, hard to estimate. XCode was built 'for my 64-bit Mac', I haven't checked if those are fat binaries or not. ### Running samples The Ogre sample launcher is very nice, touch-enabled, there are 77 samples in 1.9.0, with all kinds of effects, from shaders to terrain, to compositors, to instancing, animations (including facial animations with weighting), dynamic textures, fresnel effect (water), etc. They seem to have a GUI system they use in the demos, it's kinda ugly but looks powerful enough, need to investigate. @@ -121,6 +125,8 @@ The Cg samples didn't seem to run even though ogredeps contains Cg. Maybe Cg nee ## Building on Windows Platform: Windows 8.1 Pro, Visual Studio C++ 2010 Express, DX SDK, TortoiseHg, CMake GUI Basically, the whole guide on [techny tumblr][] is perfect even for 1.9.0. I used Visual Studio C++ 2010 Express edition, which I registered (it's free). [techny tumblr]: http://techny.tumblr.com/post/39928642180/building-ogre-in-windows-7-8-using-visual-studio-2012 @@ -137,6 +143,8 @@ Sample launcher worked fine, but the DX11 backends had graphical UI glitches and ## Building on Linux Platform: Debian 3.14.2-1 (2014-04-28) x86_64, cmake command-line, mercurial commandline ### Ogre & Ogredeps Clone ogredeps and ogre, cmake generates Unix Makefiles, defaults worked well, building the samples requires XAW (wtf?) so installing `libxaw-dev` took care of that. @@ -149,7 +157,7 @@ Installed the .deb package the [nvidia cg download][] page, rebuilding ogre. [nvidia cg download]: https://developer.nvidia.com/cg-toolkit-download I had only installed the 32-bit version, build failed with a link error, installing the x64 package now! Seems it unpacked 'over' the 32-bit version, so both can't be installed alongside. Will have to resort to chroots or VMs to build for both 32 and 64-bit Linux. Note that the deb package installed fine on Debian unstable so they're not Ubuntu-exclusive. ## Afterthoughts -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -149,6 +149,8 @@ Installed the .deb package the [nvidia cg download][] page, rebuilding ogre. [nvidia cg download]: https://developer.nvidia.com/cg-toolkit-download I had only installed the 32-bit version, build failed with a link error, installing the x64 package now! ## Afterthoughts I'm still in the process of **evaluating Ogre3D** for the purpose of a native platform for TSE's final version. My motivations are to get rid of Java, and the rationale is the following: Java is good and convenient for iterating quickly (no compilation times, everyone can run Eclipse, etc.) - but it's not so good for distribution itself (use exe4j? gcj is dead, Java on OSX & Linux are a mess, nobody likes Java runtime in general). Most of the 'intelligence' of the game resides in the editors (web-based) so making even a C++ version of the game shouldn't be too costly. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 4 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -145,6 +145,10 @@ Clone ogredeps and ogre, cmake generates Unix Makefiles, defaults worked well, b 1st try: Launcher works, samples run, a few Cg errors are thrown, normal mapping sample doesn't seem to normal-map at all, changing materials does nothing, possibly because of missing Cg? investigating that. Installed the .deb package the [nvidia cg download][] page, rebuilding ogre. [nvidia cg download]: https://developer.nvidia.com/cg-toolkit-download ## Afterthoughts I'm still in the process of **evaluating Ogre3D** for the purpose of a native platform for TSE's final version. My motivations are to get rid of Java, and the rationale is the following: Java is good and convenient for iterating quickly (no compilation times, everyone can run Eclipse, etc.) - but it's not so good for distribution itself (use exe4j? gcj is dead, Java on OSX & Linux are a mess, nobody likes Java runtime in general). Most of the 'intelligence' of the game resides in the editors (web-based) so making even a C++ version of the game shouldn't be too costly. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 17 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -117,6 +117,8 @@ Full build time was probably between 5-10 minutes, hard to estimate. The Ogre sample launcher is very nice, touch-enabled, there are 77 samples in 1.9.0, with all kinds of effects, from shaders to terrain, to compositors, to instancing, animations (including facial animations with weighting), dynamic textures, fresnel effect (water), etc. They seem to have a GUI system they use in the demos, it's kinda ugly but looks powerful enough, need to investigate. The Cg samples didn't seem to run even though ogredeps contains Cg. Maybe Cg needs to be installed separately from the official nVidia website? ## Building on Windows Basically, the whole guide on [techny tumblr][] is perfect even for 1.9.0. I used Visual Studio C++ 2010 Express edition, which I registered (it's free). @@ -127,6 +129,21 @@ Windows notes: - There is a DirectX 11 and a DirectX 9 backend in addition to the OpenGL backend - HLSL2GLSL I suspect can be used to write portable shaders - Installing the DirectX SDK bugged because VS2010 runtime was already installed - fix was to uninstall the VS2010 runtime, install the DX SDK and re-install the VS2010 runtime. (For shame, MS) ### Running the samples Sample launcher worked fine, but the DX11 backends had graphical UI glitches and the demos didn't display anything coherent. The DX9 backend worked fine. I didn't test the OpenGL backend. ## Building on Linux ### Ogre & Ogredeps Clone ogredeps and ogre, cmake generates Unix Makefiles, defaults worked well, building the samples requires XAW (wtf?) so installing `libxaw-dev` took care of that. ### Running the samples 1st try: Launcher works, samples run, a few Cg errors are thrown, normal mapping sample doesn't seem to normal-map at all, changing materials does nothing, possibly because of missing Cg? investigating that. ## Afterthoughts -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 11 additions and 2 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -134,6 +134,15 @@ I'm still in the process of **evaluating Ogre3D** for the purpose of a native pl **CMake** is confusing at first, but it's very powerful and obviously a lot more than an autoconf replacement. It can generate Unix Makefiles (for Linux/SteamOS/etc.), XCode projects (first-class citizen on OSX), VisualStudio solutions (first-class citizen on Windows). Using it would be a clear departure from my habits (which are to take the road less travelled). It also means cross-compilation isn't an option in the short term, so no automated builds, and since the compilation environment setup process is rather complex, no hope for non-devs to build the game themselves. (However, Ogre3D scripts + in-house editors alleviate this problem). The next steps would go along the lines of this: * Get a CMake-based barebones project up on bitbucket where I can reliably iterate from on Windows or OSX and build on all three target platforms. * Try to distribute the barebones project on all three platforms to get a feel of how the final release process is going to feel like * Find out how to deal with YAML/JSON in a C++ environment * Try to load existing 3D models into the barebones project * Try a few compositors / mess around with shader techniques to see what kind of look we can achieve * Implement the navigation engine inside the barebones project * Implement the story engine inside the barebones project None of these are solved yet, and they're not in any particular order, but things are looking okay. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 19 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,7 +22,7 @@ Compositor are for full-screen post-processing, particles are self-explanatory, ## Building on OSX ### Ogredeps At first I tried to build Ogre 1.8.1, following [OSX+CMake command-line instructions][osx-instructions]. I grabbed the [ogredeps][] package to try and get all the dependencies built before even attempting to build Ogre3D itself. At the time of this writing, they include: @@ -117,5 +117,23 @@ Full build time was probably between 5-10 minutes, hard to estimate. The Ogre sample launcher is very nice, touch-enabled, there are 77 samples in 1.9.0, with all kinds of effects, from shaders to terrain, to compositors, to instancing, animations (including facial animations with weighting), dynamic textures, fresnel effect (water), etc. They seem to have a GUI system they use in the demos, it's kinda ugly but looks powerful enough, need to investigate. ## Building on Windows Basically, the whole guide on [techny tumblr][] is perfect even for 1.9.0. I used Visual Studio C++ 2010 Express edition, which I registered (it's free). [techny tumblr]: http://techny.tumblr.com/post/39928642180/building-ogre-in-windows-7-8-using-visual-studio-2012 Windows notes: - There is a DirectX 11 and a DirectX 9 backend in addition to the OpenGL backend - HLSL2GLSL I suspect can be used to write portable shaders ## Afterthoughts I'm still in the process of **evaluating Ogre3D** for the purpose of a native platform for TSE's final version. My motivations are to get rid of Java, and the rationale is the following: Java is good and convenient for iterating quickly (no compilation times, everyone can run Eclipse, etc.) - but it's not so good for distribution itself (use exe4j? gcj is dead, Java on OSX & Linux are a mess, nobody likes Java runtime in general). Most of the 'intelligence' of the game resides in the editors (web-based) so making even a C++ version of the game shouldn't be too costly. **CMake** is confusing at first, but it's very powerful and obviously a lot more than an autoconf replacement. It can generate Unix Makefiles (for Linux/SteamOS/etc.), XCode projects (first-class citizen on OSX), VisualStudio solutions (first-class citizen on Windows). Using it would be a clear departure from my habits (which are to take the road less travelled). It also means cross-compilation isn't an option in the short term, so no automated builds, and since the compilation environment setup process is rather complex, no hope for non-devs to build the game themselves. (However, Ogre3D scripts + in-house editors alleviate this problem). -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 34 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -82,7 +82,40 @@ I grabbed the version in `1.9/OgreDependencies_OSX_libc++_20130610.zip`. It cont I tried the cmake "Unix Makefiles" way too, but it wasn't worth it - too many troubles with OSX framework versions, sysroots, and what have you not. So instead, I had to go... the XCode way. The easiest way to get the 1.9.0 sources was through [Mercurial][] - it's hosted on Bitbucket ([sinbad/ogre][]). [Mercurial]: http://mercurial.selenic.com/ [sinbad/ogre]: http://bitbucket.org/sinbad/ogre Used this command to clone directly to the `v1-9-0` tag: ``` hg clone https://bitbucket.org/sinbad/ogre -r v1-9-0 ``` After that: ``` cd ogre mkdir build cd build cmake -G Xcode .. ``` No additional cmake flags required! This generates an `OGRE.xcodeproj` folder in build/, it should be opened in XCode. (Note: in theory, `xcodebuild` is a valid alternative but some settings had to be messed with so it was just easier to do it from XCode). Things I had to change in the OGRE project globally: - OSX Target Version: 10.7 (was 10.5 by default, probably because it was the lowest SDK?) - C++ Standard Library: libc++ (because ogredeps was built with it) Full build time was probably between 5-10 minutes, hard to estimate. ### Running samples The Ogre sample launcher is very nice, touch-enabled, there are 77 samples in 1.9.0, with all kinds of effects, from shaders to terrain, to compositors, to instancing, animations (including facial animations with weighting), dynamic textures, fresnel effect (water), etc. They seem to have a GUI system they use in the demos, it's kinda ugly but looks powerful enough, need to investigate. -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 3 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -82,5 +82,7 @@ I grabbed the version in `1.9/OgreDependencies_OSX_libc++_20130610.zip`. It cont I tried the cmake "Unix Makefiles" way too, but it wasn't worth it - too many troubles with OSX framework versions, sysroots, and what have you not. So instead, I had to go... the XCode way. The easiest way to get the 1.9.0 sources was through [Mercurial] -
nddrylliog revised this gist
May 25, 2014 . 1 changed file with 10 additions and 201 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -24,7 +24,7 @@ Compositor are for full-screen post-processing, particles are self-explanatory, ## Ogredeps At first I tried to build Ogre 1.8.1, following [OSX+CMake command-line instructions][osx-instructions]. I grabbed the [ogredeps][] package to try and get all the dependencies built before even attempting to build Ogre3D itself. At the time of this writing, they include: [osx-instructions]: http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide&tikiversion=Mac+OS+X [ogredeps]: https://bitbucket.org/cabalistic/ogredeps @@ -43,6 +43,8 @@ Ogre has some kind of built-in archive system to load resources, freetype is use [ois]: http://sourceforge.net/projects/wgois/ [Cg]: https://developer.nvidia.com/cg-toolkit #### Legacy troubles ogredeps's CMakeFiles asks for a 10.6 framework, I used Frederic Devernay's [Legacy][] package to extract + install it from old XCode dmgs. [Legacy]: http://devernay.free.fr/hacks/xcodelegacy/ @@ -68,210 +70,17 @@ After that, same command works without any problems. Thank God for cmake legacy- `make install` installs `include/` and `lib/` in `ogredeps/build/ogredeps` - that path is useful for the ogre building phase. #### Just use pre-built Later on, I realized there were pre-built versions of the dependencies in the [ogre-dependencies-mac][] sourceforge project. At this point I realized Ogre 1.8.1 was pretty old and I decided to try and build 1.9.0 instead. [ogre-dependencies-mac]: http://sourceforge.net/projects/ogre/files/ogre-dependencies-mac/ I grabbed the version in `1.9/OgreDependencies_OSX_libc++_20130610.zip`. It contains a folder 'Dependencies' which should just be put alongside ogre's sources. ### Building ogre I tried the cmake "Unix Makefiles" way too, but it wasn't worth it - too many troubles with OSX framework versions, sysroots, and what have you not. So instead, I had to go... the XCode way. The easiest way to get the 1.9.0 sources was through Mercurial -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 16 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -259,3 +259,19 @@ Use Boost: disabled ``` Note the lack of boost, threading, using 'float' by default. OpenGL backend selected, which is good. Some libOIS errors, hopefully false alarms. First make run, encountered this error: ``` clang: warning: no such sysroot directory: 'macosx' In file included from /Users/amos/Dev/ogre/ogre_src_v1-8-1/OgreMain/src/OgreAlignedAllocator.cpp:28: In file included from /Users/amos/Dev/ogre/ogre_src_v1-8-1/OgreMain/include/OgreStableHeaders.h:41: In file included from /Users/amos/Dev/ogre/ogre_src_v1-8-1/OgreMain/include/OgreArchive.h:31: In file included from /Users/amos/Dev/ogre/ogre_src_v1-8-1/OgreMain/include/OgrePrerequisites.h:33: In file included from /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/string:435: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/iosfwd:90:10: fatal error: 'wchar.h' file not found #include <wchar.h> // for mbstate_t ^ 1 error generated. ``` -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 195 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -22,6 +22,8 @@ Compositor are for full-screen post-processing, particles are self-explanatory, ## Building on OSX ## Ogredeps I'm trying out Ogre 1.8.1, following [OSX+CMake command-line instructions][osx-instructions]. I grabbed the [ogredeps][] package to try and get all the dependencies built before even attempting to build Ogre3D itself. At the time of this writing, they include: [osx-instructions]: http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide&tikiversion=Mac+OS+X @@ -64,3 +66,196 @@ rmdir OldFrameworks After that, same command works without any problems. Thank God for cmake legacy-problems-detection routines. Regular ol' `make -j4` worked just fine. `make install` installs `include/` and `lib/` in `ogredeps/build/ogredeps` - that path is useful for the ogre building phase. ### Building ogre Same cmake command above, noteworthy parameter is `OGRE_DEPENDENCIES_DIR` which should be the install folder of ogredeps as seen above. ``` cmake -G "Unix Makefiles" -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.6 -DOGRE_DEPENDENCIES_DIR=../../ogredeps/build/ogredeps .. ``` Output of cmake was: ``` -- Checking whether C compiler has -isysroot -- Checking whether C compiler has -isysroot - yes -- Checking whether C compiler supports OSX deployment target flag -- Checking whether C compiler supports OSX deployment target flag - no -- Checking whether CXX compiler has -isysroot -- Checking whether CXX compiler has -isysroot - yes -- Checking whether CXX compiler supports OSX deployment target flag -- Checking whether CXX compiler supports OSX deployment target flag - no -- Configuring OGRE 1.8.1 -- Check size of void* -- Check size of void* - done -- Performing Test OGRE_GCC_HAS_SSE -- Performing Test OGRE_GCC_HAS_SSE - Failed -- Performing Test OGRE_GCC_VISIBILITY -- Performing Test OGRE_GCC_VISIBILITY - Failed -- Check if the system is big endian -- Searching 16 bit integer -- Looking for sys/types.h -- Looking for sys/types.h - found -- Looking for stdint.h -- Looking for stdint.h - found -- Looking for stddef.h -- Looking for stddef.h - found -- Check size of unsigned short -- Check size of unsigned short - done -- Using unsigned short -- Check if the system is big endian - little endian -- Search path: /Users/amos/Dev/ogre/ogredeps/build/ogredeps;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/../Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/../Dependencies -- Looking for ZLIB... -- Found PkgConfig: /usr/local/bin/pkg-config (found version "0.28") -- checking for module 'zzip-zlib-config' -- package 'zzip-zlib-config' not found -- Found ZLIB: optimized;/usr/lib/libz.dylib;debug;/usr/lib/libz.dylib -- Looking for ZZip... -- checking for module 'zziplib' -- package 'zziplib' not found -- Found ZZip: optimized;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libzziplib.a;debug;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libzziplib.a -- Looking for FreeImage... -- checking for module 'freeimage' -- package 'freeimage' not found -- Found FreeImage: optimized;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libFreeImage.a;debug;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libFreeImage.a -- Looking for FREETYPE... -- checking for module 'freetype2' -- package 'freetype2' not found -- CMAKE_PREFIX_PATH: /Users/amos/Dev/ogre/ogredeps/build/ogredeps;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/../Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/../Dependencies;/usr/local;/usr/lib/i386-linux-gnu -- CMAKE_PREFIX_PATH: /Users/amos/Dev/ogre/ogredeps/build/ogredeps;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/build/../Dependencies;/Users/amos/Dev/ogre/ogre_src_v1-8-1/../Dependencies;/usr/local;/usr/lib/i386-linux-gnu -- Found FREETYPE: optimized;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libfreetype.a;debug;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libfreetype.a -- Found OpenGL: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/OpenGL.framework -- Looking for Cg... -- Cg_PREFIX_PATH changed. -- checking for module 'Cg' -- package 'Cg' not found -- Could not locate Cg -- Looking for POCO... -- checking for module 'POCO' -- package 'POCO' not found -- Could not locate POCO -- Looking for TBB... -- Could not locate TBB -- Looking for GLSL_Optimizer... -- GLSL_Optimizer_PREFIX_PATH changed. -- checking for module 'GLSL_Optimizer' -- package 'GLSL_Optimizer' not found -- Could not locate GLSL_Optimizer -- Looking for HLSL2GLSL... -- HLSL2GLSL_PREFIX_PATH changed. -- checking for module 'HLSL2GLSL' -- package 'HLSL2GLSL' not found -- Could not locate HLSL2GLSL -- Looking for OIS... -- OIS_PREFIX_PATH changed. -- checking for module 'OIS' -- package 'OIS' not found -- Found OIS: optimized;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libOIS.a;debug;/Users/amos/Dev/ogre/ogredeps/build/ogredeps/lib/libOIS.a -- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE) -- Looking for Softimage... -- Softimage_PREFIX_PATH changed. -- Could not locate Softimage -- Looking for CppUnit... -- checking for module 'cppunit' -- package 'cppunit' not found -- Could not locate CppUnit -- Looking for iOS SDK... -- Found iOS SDK -- Looking for Carbon... -- checking for module 'Carbon' -- package 'Carbon' not found -- Found Carbon: -framework Carbon -- Looking for Cocoa... -- checking for module 'Cocoa' -- package 'Cocoa' not found -- Found Cocoa: -framework Cocoa -- Looking for IOKit... -- checking for module 'IOKit' -- package 'IOKit' not found -- Found IOKit: -framework IOKit -- Looking for CoreVideo... -- checking for module 'CoreVideo' -- package 'CoreVideo' not found -- Found CoreVideo: -framework CoreVideo -- ----------------------------------------------------------------------------- -- The following external packages were located on your system. -- This installation will have the extra features provided by these packages. + zlib + zziplib + freeimage + freetype + OpenGL + OpenGL ES 1.x + OpenGL ES 2.x + OIS + iOS SDK + Carbon + Cocoa + IOKit + CoreVideo ----------------------------------------------------------------------------- -- The following OPTIONAL packages could NOT be located on your system. -- Consider installing them to enable more features from this software. + cg: C for graphics shader language <http://developer.nvidia.com/object/cg_toolkit.html> + boost: Boost (general) <http://boost.org> + boost-thread: Used for threading support <http://boost.org> + boost-date_time: Used for threading support <http://boost.org> + POCO: POCO framework <http://pocoproject.org/> + tbb: Threading Building Blocks <http://www.threadingbuildingblocks.org/> + GLSL Optimizer: GLSL Optimizer <http://github.com/aras-p/glsl-optimizer/> + HLSL2GLSL: HLSL2GLSL <http://hlsl2glslfork.googlecode.com/> + Doxygen: Tool for building API documentation <http://doxygen.org> + Softimage: Softimage SDK needed for building XSIExporter <FALSE> + CppUnit: Library for performing unit tests <http://cppunit.sourceforge.net> ----------------------------------------------------------------------------- send_error/Users/amos/Dev/ogre/ogredeps/build/ogredeps/bin/debug/libOIS.a did not exist, can't install! send_error/Users/amos/Dev/ogre/ogredeps/build/ogredeps/bin/release/libOIS.a did not exist, can't install! -- ---------------------------------------------------------------------------- FEATURE SUMMARY ---------------------------------------------------------------------------- Building components: + Paging + Terrain + RTShader System + RTShader System Core Shaders + RTShader System Extensions Shaders Building plugins: + BSP scene manager + Octree scene manager + Portal connected zone scene manager + Particle FX Building rendersystems: + OpenGL Building executables: + Samples + Tools Building core features: + DDS image codec + FreeImage codec + ZIP archives Build type: dynamic Threading support: none Use double precision: disabled Allocator type: nedmalloc (pooling) STL containers use allocator: enabled Strings use allocator: disabled Memory tracker (debug): disabled Memory tracker (release): disabled Use new script compilers: enabled Use Boost: disabled ---------------------------------------------------------------------------- -- Configuring done -- Generating done -- Build files have been written to: /Users/amos/Dev/ogre/ogre_src_v1-8-1/build ``` Note the lack of boost, threading, using 'float' by default. OpenGL backend selected, which is good. Some libOIS errors, hopefully false alarms. -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 2 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -62,3 +62,5 @@ mv OldFrameworks/* . rmdir OldFrameworks ``` After that, same command works without any problems. Thank God for cmake legacy-problems-detection routines. Regular ol' `make -j4` worked just fine. -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 8 additions and 1 deletion.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -51,7 +51,14 @@ The following command then seemed to generate makefiles: cmake -G "Unix Makefiles" -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.6 .. ``` But the particular XCode version I used to extract the 10.6 SDK apparently creates [bad symlinks][]. These commands seemed to have fixed it: [bad symlinks]: http://bugs.python.org/issue14018 ```bash cd /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk/Library mv Frameworks OldFrameworks mv OldFrameworks/* . rmdir OldFrameworks ``` -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 15 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -40,3 +40,18 @@ Ogre has some kind of built-in archive system to load resources, freetype is use [ois]: http://sourceforge.net/projects/wgois/ [Cg]: https://developer.nvidia.com/cg-toolkit ogredeps's CMakeFiles asks for a 10.6 framework, I used Frederic Devernay's [Legacy][] package to extract + install it from old XCode dmgs. [Legacy]: http://devernay.free.fr/hacks/xcodelegacy/ The following command then seemed to generate makefiles: ```bash cmake -G "Unix Makefiles" -DCMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.6.sdk -DCMAKE_OSX_DEPLOYMENT_TARGET=10.6 .. ``` But the particular XCode version I used to extract the 10.6 SDK apparently creates [bad symlinks][]. Still looking for a fix. [bad symlinks]: http://bugs.python.org/issue14018 -
nddrylliog revised this gist
May 24, 2014 . 1 changed file with 29 additions and 8 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,21 +1,42 @@ ## Reading the docs Seems well-organized, wish I had read that years ago - things I found out about rendering by trial and lots of errors are clearly stated there. It probably helped for comprehension that I struggled with these for years but now things make sense. Approach is clearly a scene-graph but more involved than libgdx's 3D framework: lots of built-in techniques (e.g. for Shadows), implementations of frequently-used algorithms (BSPs, Octrees), etc. Own binary model format with pre-computed LODs / edge lists, exporter available from Blender: [blender2ogre][] (supports Blender up to 2.66) [blender2ogre]: https://bitbucket.org/MindCalamity/blender2ogre They have [scripts][] for everything (materials, compositor, particle, overlay, font definitions) so no need to rebuild just to change the aspect Combined with a world editor, scripts mean we can pretty much build the whole graphical environment without rebuilding the game at all The story engine shouldn't be too hard to implement in C++. Nor should the web server stuff, but I haven't scouted that yet. [scripts]: http://ogre3d.org/docs/manual/manual_13.html Materials are pretty much texture/lighting definitions, made out of techniques, themselves made out of passes. Compositor are for full-screen post-processing, particles are self-explanatory, overlays are for 2D UI on top of the 3D scene. ## Building on OSX I'm trying out Ogre 1.8.1, following [OSX+CMake command-line instructions][osx-instructions]. I grabbed the [ogredeps][] package to try and get all the dependencies built before even attempting to build Ogre3D itself. At the time of this writing, they include: [osx-instructions]: http://www.ogre3d.org/tikiwiki/tiki-index.php?page=CMake+Quick+Start+Guide&tikiversion=Mac+OS+X [ogredeps]: https://bitbucket.org/cabalistic/ogredeps - AMD_Quad_Buffer_SDK_v11 - Cg - FreeImage - NVAPI-R313-developer - freetype - ois - zlib - zziplib Ogre has some kind of built-in archive system to load resources, freetype is used to load truetype fonts directly (compare/contrast with libgdx's Hiero that creates bitmap fonts out-of-engine), [ois][] seems to be used for input devices, [Cg][] is nVidia's shader toolkit, FreeImage is for texture loading. [ois]: http://sourceforge.net/projects/wgois/ [Cg]: https://developer.nvidia.com/cg-toolkit
NewerOlder