Another confusing user here.
I also found that Ogre 2.1 is hard to install/use comparing to Bullet, Eigen, Box2D, and Ogre 1.9,
and faced several difficulty related to Ogre (every version, but 2.1 a bit harder than 1.9).
First, I took 2-3 days just to make the Ogre demo works.
- Ex. SDL2 linker error, no rendering system to select, can't run at full screen. (more detail
http://www.ogre3d.org/forums/viewtopic. ... 74#p537712 )
After that, I have to refactor some code to update from 9-months-ago (this is just an example):-
Code: Select all
!retVal->pixelShader
to
!retVal->pso.pixelShader
^ I have to dig up and find the change in the Ogre Sample code. (got some headache)
Then, I got this error: -
Code: Select all
11:39:56: GLSL compile log: 2147483648VertexShader_vs
0(92) : error C1043: size of dimension cannot be less than 1
The line "92" is shifted by 43 lines from the "#if 0" debug print.
Code: Select all
#if 0
*** hlms_uv_count0 2
*** texture_bind0 2
*** hlms_uv_count 1
*** PsoBlendblock 1
*** glsl 635204550 .....
I love it, but I took 45 minutes to figure out the line-shift - the error is actually at line 92+43.
After an hour, using notepad++, I found that the cause hidden in "Structs_piece_vs_piece_ps.hlsl" :-
Code: Select all
f3dGridHWW[@value( [b]hlms_forward3d[/b] )];
... change to ...
float4 f3dGridHWW[@value([b] forward3d_num_slices[/b] )];
^ but how am I supposed to know?
----
My above problems are solved.
However, I still feel that there are obstacles in every step, and I took (too) much time to overcome each of them.
I lose self-confidence every time I touch Ogre.
Is it because
-- I have low experience in C++ / not a good learner.
-- There are some documents that I forget read (I have read "Ogre 2.0 Porting Manual").
-- I didn't stalk this forum frequently enough.
-- Ogre is not designed for a light-heart.
-- Ogre 2.1 is still not "official".
-- I used too advance feature. (custom HLMS implemention)
-- Bad luck.
-- I am a problem myself. (From many post, I think most Ogres forumers seem to not face such issues at all.)
???
On a good side, I found that Ogre code is well organized (thus, most problem can be solved just by looking at the code).
People are very nice, and I always got answer if I ask here.
It is still disgraceful for me to take several days just to update Ogre 2.1->2.1 newest.