Page 1 of 3

Feedback wanted: Ogre 2.1 guide

Posted: Tue Jun 13, 2017 10:57 pm
by dark_sylinc
I set up a guide on how to setup Ogre and how to start your own project that uses Ogre.

I need to know how easy/hard to follow is, or if you encounter other issues, doubts. etc.

Definitely what needs work is setting up your own project in iOS; the CMake script may need more tweaking.

Thank you!

Re: Feedback wanted: Ogre 2.1 guide

Posted: Wed Jun 14, 2017 3:32 pm
by screwt
Hello there,

I successfully built EmptyProject.

But i think the guide you wrote should be more visible in the wiki.
I messed up many times before i read your guide.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Wed Jun 14, 2017 4:41 pm
by spookyboo
The dependencies never worked for me out of the box. I always had issues with SDL2 and rapidJson (headers were on the wrong level). Are these solved by now?
I've put something on the wiki (http://www.ogre3d.org/tikiwiki/tiki-ind ... ng+Ogre+V2). I see an overlap with your manual

Re: Feedback wanted: Ogre 2.1 guide

Posted: Thu Jun 15, 2017 10:44 am
by al2950
All looks good (only checked the Windows version)

However on a side note, based on some of the questions we get, I think we should do the following
- By default have BUILD_SAMPLES_2 selected, on even better remove it a leave BUILD_SAMPLES. For those of us who are familiar with Ogre and just want the base SDK, un-selecting BUILD_SAMPLES_2 is not a big issue, but it clearly is proving a barrier for people who want to give 2.1 a go.
- By default disable the OGRE_CONFIG_THREAD_PROVIDER and OGRE_CONFIG_THREADS, if it is the recommended way to use the latest version of Ogre. Especially as you state 'DO NOT USE BOOST' at the top!

Re: Feedback wanted: Ogre 2.1 guide

Posted: Thu Jun 15, 2017 3:18 pm
by Zonder
al2950 wrote: However on a side note, based on some of the questions we get, I think we should do the following
- By default have BUILD_SAMPLES_2 selected, on even better remove it a leave BUILD_SAMPLES. For those of us who are familiar with Ogre and just want the base SDK, un-selecting BUILD_SAMPLES_2 is not a big issue, but it clearly is proving a barrier for people who want to give 2.1 a go.
- By default disable the OGRE_CONFIG_THREAD_PROVIDER and OGRE_CONFIG_THREADS, if it is the recommended way to use the latest version of Ogre. Especially as you state 'DO NOT USE BOOST' at the top!
+1

Re: Feedback wanted: Ogre 2.1 guide

Posted: Fri Jun 16, 2017 1:20 am
by frostbyte
However on a side note, based on some of the questions we get, I think we should do the following
- By default have BUILD_SAMPLES_2 selected, on even better remove it a leave BUILD_SAMPLES. For those of us who are familiar with Ogre and just want the base SDK, un-selecting BUILD_SAMPLES_2 is not a big issue, but it clearly is proving a barrier for people who want to give 2.1 a go.
- By default disable the OGRE_CONFIG_THREAD_PROVIDER and OGRE_CONFIG_THREADS, if it is the recommended way to use the latest version of Ogre. Especially as you state 'DO NOT USE BOOST' at the top!
i've been meaning to ask about this awkwardness, but i figured that dark_sylinc just does'nt have time for all the petties
but since ogre2.1 is starting to attract new users and not just 1.x upgraders, maybe its time to take care of this
so...+1 for BUILD_SAMPLES_2 being the default

Re: Feedback wanted: Ogre 2.1 guide

Posted: Mon Jun 19, 2017 9:04 pm
by Hotshot5000
Great stuff! More documentation is what Ogre needs right now. I remember wasting some hours the first time I tried building Ogre 2.1 because I didn't know how to configure cmake and where to get ogre deps from. The problem is, how do you strike a balance between configurability and ease of use. From what I see Ogre addresses itself to the more advanced programmer, it's definitely not for a beginner.

The question is, is this good for the project? A few experts vs an ocean of newbies? Unity is far more popular than Ogre because it addresses itself to complete beginners. My belief is that Ogre needs much more exposure, while not devolving the forums to the usual dumb questions that you see on unity forums. But how do we do that? I have no answer now, but I think it's an important subject to discuss in another topic...

Back to the topic, when/if the android port that I did gets merged to the main line, ask me for some documentation on how to get android running and I'll provide it. Right now I have written some things here: http://www.ogre3d.org/forums/viewtopic.php?f=25&t=92121

Also, if you have time, do check out the libgdx installer: http://libgdx.badlogicgames.com/download.html. They've made a little java application that helps with creating a project and automagically downloads and configures everything just by ticking some checkboxes. That is what beginners like. Getting things running ASAP is important in getting an audience. Of course, creating an application like that takes time and effort...

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Jun 20, 2017 4:11 pm
by Zonder
Got time to follow these instructions today all went perfectly fine I used Visual Studio 2017 and a 64bit build :)

EDIT: This was for the first part of guide Setting up ogre will follow next guide soon only tried a few random samples as well

Re: Feedback wanted: Ogre 2.1 guide

Posted: Wed Jun 21, 2017 10:57 am
by screwt
Hello,

Just a little note, the compisiting stuff in ogre2.1 is not verfy visible i think info about this step should be added to the chapter "Using Ogre in your App" or in an other one just after.
In deed i spent tow days understanding that EmptyProject is not casting shadows, because of the default compositing setup, see:

https://bitbucket.org/sinbad/ogre/src/a ... ect.cpp-41

However, the 2.0 Samples helped me to understand, see:

https://bitbucket.org/sinbad/ogre/src/a ... als.cpp-29

After adding *.compostor files in the resource2.cfg and setup the compositor correctly , my shadow were casted.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Thu Jun 22, 2017 2:39 am
by dark_sylinc
I'm keeping this reply short because I've been really sick this weak.

What I can say is: Ahh! all good points! Thanks and keep giving feedback! :)

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Jul 11, 2017 6:43 am
by hedphelym
I initially wrote that I had issues building samples and with the dependency directory outside Ogre folder,
but now I cloned the latest this morning, and followed the guide once more, and everything works as expected (windows).

Re: Feedback wanted: Ogre 2.1 guide

Posted: Thu Jul 13, 2017 10:24 am
by hyyou
Thank for your great afford.

Are there any chance that "How to set up project with custom HLMS implementation" (trello card) will happen soon? :oops:

My custom HLMS implementation (modify from the great example Kinslore's hlmsground) is really a mess.
.... kinda want to rewrite it. :D

Re: Feedback wanted: Ogre 2.1 guide

Posted: Fri Jul 14, 2017 10:55 am
by Arkiruthis
hyyou wrote: Are there any chance that "How to set up project with custom HLMS implementation" (trello card) will happen soon? :oops:
Those are excellent guides you've written, but like hyyou, custom HLMS is the biggest trouble for me moving to 2.0, given previously I was very used to using Cg for all my materials, many of which didn't fit into the PBS or Unlit mould due to being specialised terrain materials or just not in the usual mould.

I had a custom HLMS running but I suspect it was riddled with bugs (my own) and I had a nagging sense that it wasn't coded 'right'?

So yeah, would be great to have a guide where someone actually starts at the ground level and builds one up, showing what needs to be implemented and, perhaps more importantly, what is safe to leave out!

Re: Feedback wanted: Ogre 2.1 guide

Posted: Wed Jul 19, 2017 9:14 am
by hyyou
(feedback)
IMHO, things are nicely explained and easy to follow, except a few difficulty that may occur only to me
(Windows 7, 32 bits, VS2015):-

1. In Downloading Ogre (https://ogrecave.github.io/ogre/api/2.1 ... ndows.html), I believe the code (and the related image) is wrong :-

Code: Select all

hg clone https://bitbucket.org/cabalistic/ogredeps Dependencies
                                                    ^ "Dependencies" should be removed        
If I follow the tutorial precisely, I will get an error at tortoiseHg "repository not found".

2. In Building Ogre> step 7, I faced this error :-

Code: Select all

1>D:\__installed\prog_232_ogre3D\inst_08\ogre\OgreMain\src\OgreSceneManager.cpp : 
fatal error C1128: number of sections exceeded object file format limit: compile with /bigobj
so I need to add the flag :

Code: Select all

Solution Explorer > OgreMain > (right click) property pages > C/C++ > Command Line
change from  "/Zm256" to  "/Zm256 /bigobj" (both without quote)
3. In Speeding things up (https://ogrecave.github.io/ogre/api/2.1 ... urApp.html), I believe the table Parameter-Description should appear before Folder-Description.
As a cmake newbie, I misunderstood that the first table (Folder-Description) is what I should fill in.

4. In Creating your application with 'EmptyProject' script
It would be nice to shows how to use "symbolic links". (this link might be good https://www.howtogeek.com/howto/16226/c ... -or-linux/)
This is my first time for such feature, so it is scary that I have to use an external website.

5. In Creating your application with 'EmptyProject' script

I faced an issue at step 3. I got this error (or warning) at CMake when press "Configure":-

Code: Select all

SDL2MAIN_LIBRARY = SDL2MAIN_LIBRARY-NOTFOUND
SDL2_INCLUDE = SDL2_INCLUDE_DIR-NOTFOUND
SDL2_LIBRARY_TEMP = SDL2_LIBRARY_TEMP-NOTFOUND
I solved it by following spookyboo's guide (http://www.ogre3d.org/tikiwiki/tiki-ind ... with+CMake) :-
1) open .sln in "Dependencies\src\SDL2" and compile it both debug & release.
2) fill the cmake's textbox that show error as :-

Code: Select all

SDL2MAIN_LIBRARY = (something)/EmptyProject/Dependencies/ogre/ogredeps/src/SDL2/VisualC/Win32/Release/SDL2main.lib
SDL2_INCLUDE_DIR = (something)/EmptyProject/Dependencies/ogre/ogredeps/src/SDL2/include
SDL2_LIBRARY_TEMP = (something)/EmptyProject/Dependencies/ogre/ogredeps/src/SDL2/VisualC/Win32/Release/SDL2.lib
6. After all the steps in both links, I can compile, but can't run 'EmptyProject'.

Code: Select all

The program can't start because SDL2.dll is missing from your computer. 
  Try reinstalling the program to fix this problem.

I fixed it by copy a file "SDL2.dll" from "Dependencies\ogre\ogredeps\src\SDL2\VisualC\Win32\Release" to
"(something)\EmptyProject\bin\Release"

7. Finally, I can run, but there is no rendering system to select.
The problems seem to be at "Root::loadPlugins...", it doesn't find a pluginsfile = "../Data/plugins_d.cfg".

1) make sure "EmptyProject\bin\Data" has some files like :- ogre.cfg, plugins_d.cfg
2) make sure "EmptyProject\bin\Debug\Plugins" has some files like :- RenderSystem_GL3Plus_d.dll, RenderSystem_Direct3D11_d.dll
3) Project property> General> Output directory = (something)\EmptyProject\bin\$(Configuration)

Ogre seems to expect a correct "Data" folder to place at "../Data" relative to "Project property> General> Output directory".

8. The rendering window (GL3+) appear but all black and glitchy (seem like non-responding), and I can't use any program beside Task Manager.
- I solved it by setting it to non-full screen. I doubt full-screen is not supported.
Edit: I can finally make it full-screen. Note that if a program crashes while Ogre is in Full-screen mode, the Windows will freeze in a short period.
For debugging, it is better to test in non-full-screen.

Thank for writing this tutorial and cmake script.
Despite the difficulty I faced, it is far easier than before.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Sun Aug 13, 2017 2:49 am
by 123iamking
The key thing to set up Ogre successfully is the folder path structure.
The folder structure Ogre expect is like this:

1. Ogre source repository: .\Ogre (ex: C:\EmptyProject\Dependencies\Ogre)
2. Ogre binary: .\Ogre\build (ex: C:\EmptyProject\Dependencies\Ogre\build)
3. Ogre dependencies: .\Ogre\Dependencies (ex: C:\EmptyProject\Dependencies\Ogre\Dependencies) (refer Setting up Ogre for the content of this folder - currently it contains bin,include,lib folder)

The idea is Ogre repository & Ogre binary & Ogre dependencies is in the folder Dependencies of Ogre Empty project, so set up the folder structure like this:
C:\EmptyProject
C:\EmptyProject\Dependencies\Ogre
C:\EmptyProject\Dependencies\Ogre\build
C:\EmptyProject\Dependencies\Ogre\Dependencies
And use CMake to make binary of EmptyProject in C:\EmptyProject\build, hit configure and everything work just fine - no warning, no error.

So I think you should emphases this folder structure as a step by step tutorial - so the newbie will not get stumble around with error and warning of CMake.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Thu Aug 24, 2017 9:31 am
by Aiden
I've successfully managed to build Ogre 2.1, didn't use any guide as I'm used to building Ogre.
I use my 1.10 dependancies, everything went fine except for /bigopt bit.
After building I had to fix resource_2.cfg where we have

Code: Select all

Zip=DebugPack.zip
to

Code: Select all

Zip=../../media/packs/DebugPack.zip
My release build runs just fine, I did the same for debug build which wasn't running with a slightly different error

Code: Select all

!imroot &&"deinitialize not called"
This I cannot solve. I've managed to port my code from 1.9---->1.10(ogrecave) and lastly 2.0
I'm stuck on 2.1 but I'm not giving up yet, but it has been a good way to understand how ogre works.
I prefer being on the latest branch even if it's not stable at least there might be support.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Fri Aug 25, 2017 9:54 am
by Aiden
123iamking wrote:The key thing to set up Ogre successfully is the folder path structure.
The folder structure Ogre expect is like this:

1. Ogre source repository: .\Ogre (ex: C:\EmptyProject\Dependencies\Ogre)
2. Ogre binary: .\Ogre\build (ex: C:\EmptyProject\Dependencies\Ogre\build)
3. Ogre dependencies: .\Ogre\Dependencies (ex: C:\EmptyProject\Dependencies\Ogre\Dependencies) (refer Setting up Ogre for the content of this folder - currently it contains bin,include,lib folder)

The idea is Ogre repository & Ogre binary & Ogre dependencies is in the folder Dependencies of Ogre Empty project, so set up the folder structure like this:
C:\EmptyProject
C:\EmptyProject\Dependencies\Ogre
C:\EmptyProject\Dependencies\Ogre\build
C:\EmptyProject\Dependencies\Ogre\Dependencies
And use CMake to make binary of EmptyProject in C:\EmptyProject\build, hit configure and everything work just fine - no warning, no error.

So I think you should emphases this folder structure as a step by step tutorial - so the newbie will not get stumble around with error and warning of CMake.
I think this system will have to be changed as it requires one to make copy of ogre+dependancies into the EmptyProject dir.
It's much easier if one could just add a path on cmake then it does everything automatically.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Fri Aug 25, 2017 10:40 am
by Aiden
My bad all I needed was to use cmake right, Ogre 2.1 is so easy to setup.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Sat Aug 26, 2017 2:13 am
by 123iamking
Aiden wrote: I think this system will have to be changed as it requires one to make copy of ogre+dependancies into the EmptyProject dir.
It's much easier if one could just add a path on cmake then it does everything automatically.
Of course you can do that: http://www.ogre3d.org/forums/viewtopic.php?f=25&t=93262

Re: Feedback wanted: Ogre 2.1 guide

Posted: Fri Sep 08, 2017 1:42 am
by IndieGuy11
IMO,

The examples are good. I wish they were in a single program, and not just 1 program that loads the DLL for the example. Because it makes it harder to follow things (I know it uses a lot of the same code), but sometimes it can seem like some of the important magic is hidden.

Other than that, I wish each example had a mini outline of calls/functions that needs to happen, and what they do, so its not so easy to miss a step (because things happen under the hood). Some of the examples are good at this, like the CustomRenderable, it clearly marks warnings!

Good job ... things are looking great!

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Oct 03, 2017 7:34 pm
by tlogre
The build process went fine Except:

I received the compile errors shown below. I could eliminate the errors by adding a #include of OgreProfiler.h in each of the .cpp fies

I am using VS 2017

Code: Select all

2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(546): error C3861: 'OgreProfileBeginDynamic': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(547): error C3861: 'OgreProfileGpuBeginDynamic': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(566): error C3861: 'OgreProfileEnd': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(567): error C3861: 'OgreProfileGpuEnd': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(570): error C3861: 'OgreProfileBeginDynamic': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(571): error C3861: 'OgreProfileGpuBeginDynamic': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(579): error C3861: 'OgreProfileEnd': identifier not found
2>E:\user\Develop\Ogre3D\Ogre\RenderSystems\Direct3D11\src\OgreD3D11RenderWindow.cpp(580): error C3861: 'OgreProfileGpuEnd': identifier not found
3>E:\user\Develop\Ogre3D\Ogre\RenderSystems\GL3Plus\src\windowing\win32\OgreWin32Window.cpp(806): warning C4838: conversion from 'unsigned int' to 'LONG' requires a narrowing conversion
3>E:\user\Develop\Ogre3D\Ogre\RenderSystems\GL3Plus\src\windowing\win32\OgreWin32Window.cpp(874): error C3861: 'OgreProfileBeginDynamic': identifier not found
3>E:\user\Develop\Ogre3D\Ogre\RenderSystems\GL3Plus\src\windowing\win32\OgreWin32Window.cpp(875): error C3861: 'OgreProfileGpuBeginDynamic': identifier not found
3>E:\user\Develop\Ogre3D\Ogre\RenderSystems\GL3Plus\src\windowing\win32\OgreWin32Window.cpp(877): error C3861: 'OgreProfileEnd': identifier not found
3>E:\user\Develop\Ogre3D\Ogre\RenderSystems\GL3Plus\src\windowing\win32\OgreWin32Window.cpp(878): error C3861: 'OgreProfileGpuEnd': identifier not found

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Oct 03, 2017 7:49 pm
by dark_sylinc
I'm sorry :oops:
I introduced that bug 2 days ago and fixed it today.

Just pull again and recompile.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Oct 03, 2017 10:50 pm
by tlogre
That Fixed it... Thanks!
dark_sylinc wrote:I'm sorry :oops:
I introduced that bug 2 days ago and fixed it today.

Just pull again and recompile.

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Oct 03, 2017 10:58 pm
by tlogre
That fixed it... Thanks

Re: Feedback wanted: Ogre 2.1 guide

Posted: Tue Oct 10, 2017 8:23 am
by DainiusVaiksnys
Arkiruthis wrote:
hyyou wrote: Are there any chance that "How to set up project with custom HLMS implementation" (trello card) will happen soon? :oops:
Those are excellent guides you've written, but like hyyou, custom HLMS is the biggest trouble for me moving to 2.0, given previously I was very used to using Cg for all my materials, many of which didn't fit into the PBS or Unlit mould due to being specialised terrain materials or just not in the usual mould.

I had a custom HLMS running but I suspect it was riddled with bugs (my own) and I had a nagging sense that it wasn't coded 'right'?

So yeah, would be great to have a guide where someone actually starts at the ground level and builds one up, showing what needs to be implemented and, perhaps more importantly, what is safe to leave out!
That's my thoughts exactly! I am trying to create a simple custom HLMS implementation and I just can't break through. HlmsUnlit is already way too complex to be a starting point. I think that a tutorial on custom HLMS is a must. Is there a chance that a donation would move this up in the priority list ? :)