Sunday, November 30, 2014

To a family potentially dealing with duress...



Not that you may have likely been advised, but media at times can be shark infested waters where on any given days the level of lies are at an absolute atrocious level, or as in the words of another prominent woman politician that I don't particularly care for, 'Sometimes you have to have the hide of a rhino.'

If you fall on the bad side of opinions, one might add given any level of populist hype, it seems could be likened to trying to climb the rope away from the flame thrower at the monster truck rally event.  Exaggerations, distortions, character assassination, and so forth...I've dealt with it personally sometime past, and generally while things are bit more quiet these day personally speaking relative to the past, generally I've been left socially isolated.  Things quiet down generally in time, or as I like to think by way of analogy, once supposedly having been 'served', one gets back to existence.  This often deals a rethinking about people I might add.

Pray all is well there for your family.  

When you live in the United States its rarer hearing the word American dissident or dissidents, but they do exist.


Wednesday, November 26, 2014

Untitled

   

How to approach this subject if not waiting for any number of years, and likely if saying it, whether it were one of any countless numbers in saying or not saying from a given experience.

How easy is it to stray into redundancies?  How easy it to relate a common experience that others would find in disparaging terms, or so often speaking of a common issue, and this leading to a series of strikes in comment.  At this point, humorously I think I may have spent the better part of some ten minutes, writing while framing the construction of an idea, but feeling my way around the idea that I would intend in framing, an emotional plea, conveying an experience.  In such defensive posture, for it seems this way in some manner of honesty, maybe there is too much of a barrier in the posture itself, that is without outright saying it, as is common by some affectation, some convention which prevents one from saying so.

Experience and social isolation

If there is abject honesty again, it is in the degree of sincerity in saying so.  I am not certain that there is exactly loneliness in writing, at least for me.  At least given to some active cognition, is active enough, in the process of constant revisions, and to this degree, when constructing some meaning, if ever apparently given and seemingly lost, returning back and then relating.  Not to say with some inset experience that ever a form of digress hadn't existed, and that following clarity weren't an issue.   I think intention if it is considered to the idea of an allowed freedom, at times, isn't so much constructed to the sense of writing with the expressed sense of selling anything, or conveying an idea that is exactly one felt out by some reader in the clearer sense.  At least imagining, in such freedom, should mean imagining without the clearest sense of empirical derivation to the degree of one writing.  That is, having spoken and spoken to others, testing self born or derived ideas by others.  Not haphazard, although one might see such a creative process as haphazard, and in this way I relate what it is that an individuality does in the process of an independence in doing so.  Testing ideas by others, is one given to the likely condition that were more or less communed upon, the idea of sharing an idea with others or that in such a craft arose, for instance, a character from a novel, an idea that weren't born in a vacuum, or at least as obviously stated, that ever any experience should have vacuous origins.  Here I am led to reconsider that an assertion weren't readily tested by way of some logical contradiction, some thought example, for instance, that contradicts a given claim, however often one might be engaged in the process of doing so repeatedly.  As given likely this sort of free form testing, as one should imagine, is like a right brain constantly being tested by a left brain, and existential construction is left somewhere in a middle region, a given compromise of sorts in the active consideration of thoughts.  I am not certain to revise the header, even if it hadn't seemed as obviously clear, but that in action I am found neither with certainty to the idea of where social isolation exists, but more certain that acquired experience had crafted this.  To this degree, at times, there almost seems an invocation by words of choice here, and in this sense emotion that might be encountered, although at times, this may likewise not be true, or that one may feel as lonely as one has allowed oneself in some manner.  Albeit, I would feel comfortable refraining in certainty, or at least in concession.

Meaning?

This header serves as a counter point, or the construction of a self query, whether this were something of self doubt that leads one to a given...words are sparing again in careful consideration.

Too soon and not too far removed?

This is another pitfall, among an imagined multitude of pitfalls.  Obviously returning to the point of freedom, one continuity leads into another, and careful self deliberation.  

Switching the voice

And identity?  Again not certain of this so much in a clearer way.  Obviously, if one can speak with consistent voicing...it is why one learns through some manner of devised self testing that irony falls flat in some way if a flow between logical styles is disruptive to the degree of clarity.   How does one develop a sense over time in using any one particular device by natural extension without relying upon a given social test, for instance.  That is, testing an idea to the degree that someone scratches one's head, or a critic.  Whether this is given to an abundance of writing, an over exertion, overly thinking one's writing.

Straying from convention

I've written about this in so many words before.  In another way, the idea seems provokes something of disliking.  As if too often by way of convention, the writer appeals to the sensibility in producing a product while railing against being identified as a product.  A style of mind is unfortunately given to this convention, is it not?  Or more so to artistic hegemony.  People pay to see the reproductions of an artist that seem artistically the art of an artist, or style that deviates, in this way is somehow the reflection of something that were less than authentic to self reproduction.  Social cultivation leads one to a given experience, refinement, and set social expectation.  Invariably in the modern age, this could be to the laughable charge, 'hipsters' something, or at least hopefully a cute self righteous affectation.  So much the peril, to social deviations here...granted this is tolerable for film makers...you can after all direct, The Incredible Hulk, and still produce a fine art film.

 Please refrain from publication for a time on this one

Should this be more obvious.  This is merely something like an ice breaker, or relaxation of mind when all seems to serious about the world.  

Tuesday, November 25, 2014

Culmination

   Hopefully there is meaning to be found in recent protests surrounding Ferguson.

Foremost, thinking of the main issue here, accountability, and commencing the process that surrounds the entirety of the word for those feeling action by this.  In the constructive process, I see this not only with respect to issues such as having officers wearing video cameras, that increased dialogue and participation by communities with respect to the nature of policing policy and policing conduct found in any given community, that reformations are made in so far as how justice is applied in so far as criminal justice systems, but that there is even greater accountability in so far as the political representation of peoples.  Its not just that those economically disadvantaged are more likely to be tried and convicted as opposed to those in corporations that engage in criminal activity and get away with it.  Its that a system is slanted and skewed at representing best power, money, served best to get away with inflicting environmental destruction, hurting communities, in the absence of regulation, reform, and legal accountability more often.  Here regulation in such partisan culture is called the great 'Satan' while the evidence of evil in practice lay in clear and obvious view.  Corporations have even commenced in invading our penal systems, have provisioned mercenaries (that have operated at times with little legal accountability) involved in foreign wars, that one should likely continue to operate, and then having shielded itself from criminal law in the event of things like accounting irregularities, or if you hadn't followed so recently a corporate lawyer paid to the tune of several billion to remain silent on such practices, or has at times led (in the absence of revelations) to silent collusion of multi nationals in spying practices so widespread, that hundreds of millions of smartphone transmissions should be compromised and intercepted alone on a daily basis by government agencies that under the auspices of counter terrorism operations considers each and every individual in effect a suspect.  Its hard to understand why mainstream America supposedly relates to multi national protectionism here, or that those speaking out on any number of issues relating to ongoing and systemic abuses that have occurred over decades past, continue to do so because of the narrative that is paid in the often given media distribution cycle.   Not merely that civil liberties and democracy are thrown out the doors supposedly in the name of freedom.   While privilege and 'entitlement' is often politically laced in charged rhetoric of particular partisan divide, in diversionary calls, it is often 'privilege' and 'entitlement' given to those in power that weigh heavily upon the suppression of rights of individuals.  While playing upon the subdivisions of society, in self maintenance and tolerance of systemic abuses.   This isn't merely an issue, in my opinion solely related to law enforcement alone, if the systems of justice that law enforcement work upon are directed in ways that tolerate and allow for the continuance of such abuses and that the mainstreams of society should be hoodwinked into believing why it is that such a wholesale investment is made in the loss of freedoms, and to this extent loss in democracy.

The array of issues here are huge and predominant, and unfortunately overwhelming at times in contemplation, since at times representation of so many of these issues could be parsed into many divisions in so far as social and political representation.   I wonder or at least am afraid that no longer the same considerable ingredients exist in representing clearly in terms of leadership a given wide array found. 

Goldberg, Fox News, and Ferguson unrest and Interstellar puritanism...


   Recalling 'Thanksgiving', turkey day, puritans on a boat, Plymouth rock, and however, the landing occurred.   All about finding freedom from persecution, and a sort of new holy land, but unfortunately, the old brother of authoritarianism having re arisen, and all to this extent the reality of exodus.  At least one should claim there are fewer holy lands these days, or even fewer spots of virgin earth that couldn't also be characterized by the notion of wasteland, or likely if one were in the guise of seeking exodus in Lincoln town car, and dropping through a fictitious wormhole,  the form and privilege of these new world seeking mishaps, the new white hopes having brought more likely plague and social woes likely, or to the misgivings of alien life, something that destruction and cultural assimilation should be likely.   Not merely in the much often too long stares, strange beady eyes, or seemingly too aggressive 'demonic fury' like nature. as attested in grand jury trials.  For new world onlookers, the mystery of savages in a hostile romantic landscape, or at least at this, more likely one should imagine, fantasies abounded if it weren't in having a new found purpose to martyrdom, conquest driven conversions, or merely that what sold by Amerigo in such an age, were likely the tales of beastly heathenism, irrespective of truth, and so often the many worlds upon worlds in finding, often times, a narrative such as Conrad's Heart of Darkness were given in so many words as confining beyond male counterparts that is, given to idyllic and pristine row of plantation, all nature brought into divine accordance by white masters only later, as related to the women of such society.   While at times the more often idyllic push, if it weren't in war of 're written text books', the teaching of alternative histories, could likewise work as a counter point of Elliot's 'wasteland', the same sort of insidious record of western decay, cultural decadence, here  in so many words without something of clearer ramification, failure of 'new deal' policies, if not through the short lived writ science education, or for that matter grade and high school social studies textbooks, given to the distinction of holding power, as opposed to dangerous ideologue.  Then as to those in frontiers, Wilson's station in life were likely done as has been claimed.  Who couldn't relate to a holy warrior such as this where a form of beastly heathenism seemingly should have arisen?
 
None of this is about 'civil rights' the simpler charge is given, all the while planting 'new seeds' for the civilization that yearns for its calling as a 'beacon on a hill'.  Mindful of the poetic, at least to avoid sounding too poetic...

On what makes right(wrong).

    Starting here, at least in this platform, begins firstly that often times between micro lines, its more often difficult to encapsulate politics so simply that these words fit compactly in merely 125 token characters (give or take), but that any lengthier assessment means that analysis yields something if it is of a more comprehensive nature not only well considered but also considered well to any abundance of information.  That is, not so easily given to reductions especially which are misleading, or anything else which has done any dis service to truth.


    Often times, if it is that there are notions to the assembly of peoples, on the other hand, in recent times, a social sabotage, for instance, is drawn to the notion of movements and peoples as a whole when it is that the actions of any minority of individuals somehow reflects a social mass, never mind, firstly, that a general group of people assembled peacefully, never mind that any assembly of peoples called in peaceful orchestrations for change, having brought notice to a particular cause, that supposedly inferences divined of a movement were necessarily so patently given to violent assembly.  Occupy movements, for instance, could be given to any number of descriptions,  'rapists' ,  'looting and property destroying' anarchists set upon imposing views on the better more 'reasonable' informed half of society, and those that apparently were likely drawn to such a view should be relegated to any number of urban centers that were disconnected from the centers of good 'common sense' that one could describe elsewhere in a country.  The problem more likely here, however, may not be that 'common sense' were given with any more education, or any smarter, but likely one should imagine, more ignorant with respect to the social conditions of others in this country.  At least a first beginnings 'common sense' explanation of this might be given to the simple question as has been suggested, for instance, by Comedy Central comedian John Stewart in paraphrasing, 'Do you relate, talk to, live in marginalized areas to see or sense what life is like for people in such areas in understanding racial issues from another perspective?'    The defensive response on the part of 'common sense' is given more likely 'Should I?' And herein the problem, to the social disconnect and culture/race wars that abound.  If our sense of view is given likely to the image, reporting, and video given on any nightly basis, more often of an incidental nature, but inferring a social continuity from one day to the next, incidental ism teaches that crime resides where it does, between the threading of a social narrative, here the narrative takes a more often racial composite, something to the degree of a society given to a self imposed causation and likely given in this particular racial view something which were transformed from an 'innate inferiority' view historically.  Guns, Germs, and Steel is, for instance, a popular and comprehensive undertaking dispelling much given historical race myth making, or in a nutshell why seemingly civilization would differ so much apparently on the basis of geography and to this degree according to supposedly the issue of race.  More often, this view born that a social segment of people who raised themselves into the condition and re perpetuating such conditions, or in other words, where is the 'common sense' of people in lifting themselves out of their condition, resisting crime, resisting drugs, resisting so much that leaves such people in a down trodden state should be asked?  For those listening to such argument, there must be in the absence of fair rhetoric/debate, of course, this must seem appealing, but often times, neglecting other views.  At least in so far as sociological considerations and anything else which left something of an appalling legacy into a social history neglected, all too easy that there another view should exist on concession, or as if one were to imagine in such, if to examine these narratives from afar, it is 'tough love' when it is not our own child, and that is often times right when issues abound and when it is not in 'my backyard', and the 'common sense' narrative is often drawn upon by the approach of relating what people don't really live to experience on a daily basis, that for all practical purposes could often seem another world in its own right far removed from those given to 'common sense'.

Beginning the description of the narrative in its often lengthy complicated viewing of history, however, takes neither the so simplistic approach, that is, that a peoples simply 'reinvent' themselves overnight, or that freedom is so amply given because supposedly passage in constitution makes 'freedom' supposedly so, or that an infliction upon people is readily healed so quickly if literally the epi genetics of depression are born into a social history that self perpetuates, and is only given so quickly to the short lived energy of a few decades to 'affirmative action'.  That is, if it is easier for someone of a racial background to transcend any particular boundary, this could be inherent to any number of social conditions that would be over come.  In so many words, where chance is born to the degree of assimilation and any destruction of self identity, social conformity leads the man of one race into another world and at that in history, at times likely to the condition of abandoning a previous life and community.  To have success is to leave 'the hood', to leave the 'reservation', to abandon a community which remains in chronic economic depression, likely to have less investment opportunities at times, less likely to know those of wealth that provide investment opportunities, and systematically at times marginalized through 'redlining' which would prohibit, for instance, African Americans home mortgage loans, or severely taking advantage of those of 'color' because of policies aimed at maintaining social segregation even if supposedly a civil rights movement were aimed at tackling in so many words the obvious narrative.   This not withstanding, that only supposedly in recent decades, so much the critical mass of achievements made by those in surpassing any previous social obstacles, that more insidious forms should remain, that aid in the perpetuated marginalization
of people.  Had more insidious forms of assimilation considered the primacy, for instance, of social abandonment?  Part of this narrative, may have in a myriad of views taken on the air of conspiracy theory, for instance, while on the other hand given to any ample statistic, whether through the introduction of powerful drugs having addictive characteristics that were much amplified relative to previous generations of illicit drugs, or for that matter that the efficiency, power and distribution of fire arms, collectively should go hand in hand to conspire in aiding violence with greater efficiency in killing, and that these weapons should be made with an increased market availability, or no wonder that typically gang bangers in the 70s, likely having possessed something like a .22 if lucky but more likely a knife, would possess in this day and age a weapon of higher calibre and certainly being more deadly, engage in violence that in part would reflect statistics bearing greater homicide rates in any given population relative the past.  Did violence necessarily change by human nature?  Or did the outcomes more likely follow suit given the variability of the means in committing violence?

   The more complex view of race and socio economics as related to policing, on the other hand, for the marginalized, however, are that irrespective of race, especially given to concentration of population, and any number of factors, which make more likely for higher rates of crime, and more likely in the absence of 'mixed housing' or anything which leads to the likelihood of segregation and loss at times in social communication and outreach which in theory might bridge gaps between social strata of society, is often more neglected, and likely the narrative told in some ways where reach exists not according to the comprehensive of extensive sociological study, or given to some articulate or even often well studied analysis, but merely given to shorter attention spans, or how to describe a complex problem in 120 tokens, a near impossibility at times.  Those likely reading and connecting on such points, already may have any experience in higher education statistically speaking, and especially in the case of more exhaustive research, perhaps, given to higher levels of education that would put such person potentially in advisory and minority position, or at least likely given to studying and reading beyond other amply provided materials and more commonly made materials, if this weren't through some direct social contact, or through maintained social contacts which should relate experiences.  Those that live in such conditions understand such likely all too well, while those that could be worlds apart living only a mile down the street, might often understand little.  Herein something of the 'culture wars' narrative weighs in and offers to another social mass, 'elitism'.  At least even in explaining such a condition, being heard, and making impact could be daunting to the challenges of the social politics of 'culture wars', more easily dismissed that one should be labeled a 'left wing' extremist, a 'socialist', a 'communist', social agitator, given to any of the social biases in opinion, that would make one's view supposedly less objective than need be, according to another view that were divergent to the mainstream 'common sense' notion.  Again leading back into 'common sense', a notion derived often in continuity to previous generations, often times defined by institutional forms of segregation and racism, however, overt and less overt relatively speaking by the passage of time.  This institutional form in some manner subtle enough, so much that once given 'redlining' policies would be transformed in other ways, if it weren't insisted policies be directed at those marginalized, on the other hand, an expected social assimilation in some form, speak of the inherent issues remaining.  Could outreach be characteristically less so for most living in segregated ways relative an outer lying community? If not fewer venturing outside, fewer venturing inside communities at times, or at least where an understood social definition of home could be the place that one related best to in so far as travel.  Social communication could not be so characteristically simple that all people assume nomadic lifestyles, if given the right social conditions, and that any existing social boundary between peoples could be inset to all the biases of perception in so far as travel and communication at that.  Who we relate to best, and who we don't relate to, and likely who we relate to providing more amply the sorts of potential opportunities if we have succeeded in the over coming a social boundary that would lead one with one less social contact and by extension any furthered social contacts implicit to that social region.   Simply put, if it is inherent that social compatibility exists in provisioning relations between one individual and others, certainly barriers such a language and subset forms any part of the obstacles that should exist, beyond language, obviously education and educational opportunity, which at the outset, could suffer should a given community have less resources to raise, for instance, by way of taxation which has made for educational resources which should provide similar statistical advantages to those children raised in affluence.  If more often, those in marginalized communities should have poorer educational resources for their children, but also that consumer market places should be lacking at times in opportunities, where dilapidated grocers, might offer sometimes rotting fruits and vegetables, and inherently given to stocking carbohydrate laden foods (in personal honesty not that I myself have been attracted to these things), but illustrating differences, market choices could be more limited by limitation of transportation choices, and limitation of market place opportunities in so far as competitiveness, in places where socio-economic differences abound in reducing the diversity of store fronts.  Obviously, higher crime make for inherent difficulty here, and then given to other problems, but also speaks of an expansion of other economic opportunities and resources even if other markets should be limited.   Where people are paid to jail and imprison those as a profession means that likely where it is perceived and given that the wheels of justice are given to a well spring, means that the system has made use of, whether ensuring the systematic flow of justice that ensures the 'wheels' are spinning as designed, even if those afforded criminal defense especially in the case of poverty, are less likely to have the resources to defend as fairly against state prosecutions.   More likely for the same crimes, such persons are more likely to be put to death, more likely incarcerated, more likely incarcerated for lengthier sentences, more likely to be recidivists  in their own communities upon returning to them after having served a sentence, and adding to that all the inherent social frustrations that could be underscored  living in such a system where existence is met at times likely with much greater suspicion.

     Michael Brown in other world circumstances, might have more likely owned and used more actively a personal car for transportation, may have been more likely to be off the streets in the first place that would be the source of an altercation, and generally a differed world view one should imagine, and less likely in a community that would lead to the often times social discordance between police and individual.  If ever such a meeting arose, likely the statistics would prove routine and not so much out of the ordinary.  Even if the charge of petty theft were supposedly true, it seems in affluence, there could have been some potential legal confrontation, but likely this neither descriptive to the opportunity and chance given for others later in life, for bad behavior or decision making that often would not cause the results, that incidentally neither contingent in the series of events listed by McColloch (at least their narrative).  Inexplicably there really weren't any clear explanation given as to why Michael Brown supposedly started a violent altercation with Wilson while Wilson remained sitting in his squad car, or why Wilson supposedly continued firing, and then Brown supposedly turned around and would apparently fire upon Brown as Brown were charging up on him, or given for an un armed man given the myriad of restraint techniques that might exist in subduing an unarmed man, none should be conceivably be taken.  Personally I've heard of cops that were beaten up survived, and eventually those brought to justice for assault charges, or one should imagine, if Wilson carried something like a baton, or any other device such as stun gun, a potentially violent individual could be subdued, and given the apparent spatial arrangement between Wilson and Brown upon Brown's death, which were some meters away, its harder to see or understand the clear and present danger at hand.  One might relate to the officers if not having the training or where  with all, in reaching for the gun, stand your ground and all, but on the other hand, likely with training at one's disposal, martial forms of self defense, or simple evasion maneuvers would likely have bought the officer time for back up and then taking Brown into custody.   Some would say Brown was on drugs, or resorting to some often given stereotypical smear, but in reality it seems questions should remain even given the 'official' narrative of events.  If in this present age, loud music could be a provocation, or heaven forbid, a thrown glass of water technically meeting the criteria for shooting some dead in the name of self defense.  It seems the latitude given, now, isn't likeliest in the use of batons.  It seems what I heard in so many words from the prosecutor, the law no longer cares or really values dealing with an individual in a given incident of this type in this community with any alternative option or recourse in a violent situation, no longer cares about any potential non lethal method for self defense, that would be cherished by other law enforcement agencies elsewhere in the world, even if given the rarity that any other outcome would could ultimately cost Wilson and not Brown.  Its not merely malaise in policing, but also similarly that another part of society would seek little to question relative to the even more brutal episodes in policing tactics, or in so many words a supposedly 'populist' consent, if it weren't much to similar derivatives as Three Strikes and You are Out, and so forth.      

    The more complex problem of policing is that where it is given to any level of predominance and articulated by popular public policy making, one should imagine all the air of social frustration that ensues, the marginalized are less likely to have the power or to articulate power in saying, while those empowered and less likely marginalized making the decisions often times effecting more broadly social masses as a whole.  Certainly economics may abound that leads to the self perpetuated state of policing that arises unless it is questioned, and all the legacies of institutionalized racism in time continues the mechanism which exists.  If this weren't informing that crime elements were dealt with, and proof were given by occupancy found in prisons and jails, and certainly by prosecutors and law enforcement that should labor to ensure that beds are filled (the Innocence Project has demonstrated, for instance, not merely problems given to prosecution mechanisms found throughout the United States at times systemic problems in any number of localities where any number of death row inmates were falsely sent to prison and put on death row for crimes they did not commit, most of these inmates were likely to have come from impoverished areas), but also I imagine in some less than transparent way a given lobby which perpetuates the stereotype of the social margins that need often more attending relative to all other segments of society, and in a given self explanatory simplification, racial margins lived up exactly to the system that were designed for such margins, and likely given all the opportunity to go down such path.   The shooting tragedy, is just a small part of a legacy that goes beyond merely an unarmed teenager and a cop that supposedly thought and may have well acted according to the given directions of his training but continue to describe a system afoul that has much broader implications.  I would nearly predict in some near future, if at least some future, another civil rights struggle potentially here, so long as social gaps continue in some given division.  Eventually if not seeded through the population margins, and given to social education differences found in urban populations, and eventually if not having made headway through academia at varying levels, much broader confrontation could be evident in some near future...if at least where generational resentments/dislikes arise, and the understandings of previous generations and cultures are less well understood.  It were a decade obviously before the 50s would pass into the sixties and a number of issues would come round back then.  It wasn't just Vietnam, or the pervasive 'white power' spy/snitch on your neighbor culture that arose in that time era , but something born in the children that want change in old institutions that would lead to new civil struggles.  Unfortunately Occupy movements lacked so many issues for both social galvanization and cohesion it would appear, but maybe sometime sooner rather than later added change is coming?!  

Monday, November 10, 2014

Getting started with Ogre experience and work arounds in Linux (Ubuntu) for Ogre 1.9 with Cegui .8.4 following Tutorials

   I recently decided to do some work on Ogre again.  Here are some recent encounters...and work around  that could help for starting.  Some resource information on specific google searches provide work around advice.  At least in terms of getting up and running some practical stuff that may save some headaches here.  Much of this being aimed for the linux user in mind.  My present work currently makes use of any number of tutorial and open source adaptations that I've found, alongside added work of my own in terms of compiling and working through any added lesser known information.  My project link by the way (for linux) is found at https://github.com/christophermoverton/ogre3d-terraineditor  .  You might find some information here as well as supplements for, for instance, the intermediate tutorials if you are using something like cmake and need relevant cmake files in your local ogre directory to find the necessary cegui headers and the like.

Also while automake tools were covered for dependencies, if you want to use cmake.  Then you may need to install this if you already haven't installed the cmake package.  You can do so easily at terminal:

sudo apt-get install cmake

or through your software center.

If you want to follow along with build guides for Ogre then you'll need mercurial.   For this at terminal you can install mercurial simply by typing:

sudo apt-get install mercurial

I’ve had issues running ogre from sdk installation.   Not sure about any other’s experience on this matter.


Instead I’ve found compiling Ogre source code from say mercurial works for me following the build guide.

To compile ogre from source.  You'd go to the source directory where you cloned Ogre.
I cloned from mercurial using Ogre version 1-9 so my clone looks at terminal like:
hg clone https://bitbucket.org/sinbad/ogre/ -u v1-9

Then go to that directory from terminal:
cd ogre

you verify the 1-9 version branch by typing:
hg branch

you can always pull any change sets to ogre by terminal in the ogre source directory with:
hg pull
hg update

switching to the 1-9 from any branch is done by typing:
hg update v1-9

At terminal in the ogre source directory you can begin the ogre from source build process by:
mkdir build
cd build
cmake ..
(if all is well)
make
sudo make install

(this is basically building the equivalent of the windows .exe file and running the .exe file for a program installation on your system with the added caveat that this program is tailored according to your machine specifications and optional package installs that ogre would utilize.

To compile using Tutorial framework with Dist files (all-in-one),


you can use at command line (using for instance Terminal) in the given project/tutorial folder cmake directory:


cmake .


This will automatically compile and install in the dist/bin folder the ogre binary for such project.


Then run at command prompt in the same directory run:


make


Successful compilation and build will place a program binary executable in the dist/bin folder


Up to now it appears there are issues with basic tutorial 3 in so far as compilation including undefined references errors as related to the Terrain and TerrainGroup headers (problems with Singleton references mostly) using the tutorials existing source code.  I am not sure if this relates to the ogre installation.


Update to this:
This needs to be added CMakeLists.txt file  in the project after “find_package(OGRE REQUIRED)”
# Add OgreTerrain.{so,dll,etc.} to our linked libraries
#   These variables are defined in FindOGRE.cmake, mine is
#   found at /usr/local/lib/OGRE/cmake/
if (OGRE_Terrain_FOUND)
# pretty sure the following include is unneeded
 # include_directories(${OGRE_Terrain_INCLUDE_DIRS})
# append OgreTerrain to the end of the OGRE_LIBRARIES variable
 set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${OGRE_Terrain_LIBRARIES})  
 message(STATUS "Found OGRE_Terrain: ${OGRE_Terrain_LIBRARIES}")
else (OGRE_Terrain_FOUND)
 message(SEND_ERROR "OgreTerrain Library not found.")
endif(OGRE_Terrain_FOUND)

I'd mention this note because cmake instructions indicate this with a thorough reading but could be easier to pass over if you are attempting a more quick scan of the tutorial.


If you are still having difficulties you may need to make sure the terrains resource directory with terrain.png (heightmap) being found either appending this resource directory to the CMakeLists.txt file or by adding a resource manager reference...this provides an example of loading a resource manager directory for textures in the tutorials .cpp file given below, provides yet another way of loading resources from script:


   Ogre::String lNameOfResourceGroup = "Mission 1 : Deliver Tom";
   Ogre::ResourceGroupManager& lRgMgr = Ogre::ResourceGroupManager::getSingleton();
   lRgMgr.createResourceGroup(lNameOfResourceGroup);
   Ogre::String lDirectoryToLoadTextures = "/usr/local/share/OGRE/Media/materials/textures";
   bool lIsRecursive = false;
   lRgMgr.addResourceLocation(lDirectoryToLoadTextures, "FileSystem", lNameOfResourceGroup, lIsRecursive);
// The function 'initialiseResourceGroup' parses scripts if any in the locations.
   lRgMgr.initialiseResourceGroup(lNameOfResourceGroup);
// Files that can be loaded are loaded.
   lRgMgr.loadResourceGroup(lNameOfResourceGroup);


Additional commonplaces to store textures for resource loading.  


This often may be placed in the dist/media/materials/textures for instance under a given project file where textures are placed in this local resource location.


Error checking.  


A good place to check for errors is in your local ogre project bin directory  is found in the (Ogre local project root)/dist/bin/   folder which is the .log file.    This will, for instance, indicate when and possibly where errors are occurring in so far as resource loading.  


Skybox implementation


Is a several step process actually I’ve found relative to the tutorial setup which makes it seem a bit easier...which might have been the case under previous SDK s, or depending on installation process, for instance, whether windows makes this process much easier in terms of use from the start versus Linux.  


So the process generally goes as follows.


You can set resources as stated to the correct directories in script if they aren’t already setup, or alternately you can also modify the configuration file found in the executable /bin directory of your project (once the program is compiled I believe).  


So for example for me I found this from my projects source root directory at /dist/bin/resources.cfg


Skyboxes are often found in a .zip package so the configuration file will need to see the .zip file.  Here is a sample:


# Resources required by the sample browser and most samples.
[Essential]
Zip=../media/packs/SdkTrays.zip
Zip=../media/packs/cubemapsJS.zip
Zip=../media/SkyBox/skybox.zip


# Resource locations to be added to the default path
[General]
FileSystem=../media
FileSystem=../media/materials/scripts
FileSystem=../media/materials/textures
FileSystem=../media/models


Here, the map actually referenced in my scene rendering file (the .cpp file that makes a call actually to the material file)  is cubemapJS.zip


the actual call in the .cpp scene rendering scene call, for example, in the tutorial may be:
mSceneMgr->setSkyBox(true, "Examples/CloudyNoonSkyBox", 10000, false);


where “Examples/CloudyNoonSkyBox”  is actually a call to the material in the materials script.  


I generally loaded both the material file and the cubemapJS.zip file in the necessary directories as given by the zip path found above in the resource.cfg file and also put the material file in the ../media/materials/scripts files.  Whenever you want to alternately (outside of a scripted call in your scene manger .cpp file) to load a material in the resources manager, you can do so by placing the material file in the ../media/materials/script directory.  Thus in this case we are actually wanting to grab Examples.material file.  I actually found this, in my case, in my given Ogre source directory, or you can I imagine alternately access this data from the Ogre/Sdk directory.  Specifically in the Ogre source directory this may be found at (Ogre source home)/Samples/Media/materials/scripts  


now if you open the file Examples.material, you’ll find  at line 163 the materials definition for “Examples/CloudyNoonSkyBox”  which basically tells it to use specific texture files for this material.  
Thus,
cubic_texture cloudy_noon.jpg separateUV


in this materials definition actually automatically gives instruction to pull the appropriate file references from a cloudy_noon.jpg series to be unpacked and placed appropriately as textures for the given sky box.  You hadn’t need worry about referencing each of the six files for the cubic_texture in order or anything like this since


separateUV  


actually does this for you in cubic_texture call…


So in short to load a skybox you may need to do the following:


  1. Grab you skybox .zip archive file and set this up in your project local directory.  Generally while some have setup skybox directories.  I’ve just placed this alternately in my project local ../media/packs/cubemapsJS.zip directory as indicated in the resources.configuration file above.
  2. Make sure this zip file is referenced in your configuration.file (that is found in your local project dist/bin file after program compilation and build).
  3. Get either from the OgreSDK directory (if you installed Ogre using the SDK), or from the source directory of your ogre build, or if you built ogre on your own machine (as opposed to using pre compiled binaries), from  (Ogre source home)/Samples/Media/materials/scripts  the Examples.material file and put this in ../media/materials/scripts (under you local ogre project file).
  4. Then set in your scene method/function build use the appropriate call to reference the sky box.  For example, mSceneMgr->setSkyBox(true, "Examples/CloudyNoonSkyBox", 10000, false);
          does this, or in another words, everything in the third basic tutorial should work.


That should technically do it for the third tutorial.  If you can’t really see the skybox so well, really gray or something, I’d recommend either adjusting fog settings, or disabling fog.  I’ve had some issues with the sky dome loading the textures weirdly.

One last thing, you can find the specular and normal map texture data for splatmaps (for the 3rd basic tutorial) oddly enough in the ogre (your ogre build source directory)/Samples/Media/materials/textures/nvidia directory.  You'd need to again transfer these to your project textures local directory, or alternately make sure library references are set up as necessary in script somewhere.


The more common problems that I’ve seen where Ogre subsequently closes right away, are that materials are not properly defined or referenced.
Keep in mind that if a texture is not found even if a material makes a call to a not found texture, Ogre will still run instead rendering something of ‘default’ grey texture (or something which allows the rendering pipeline to work), but if a material can not be found, likely this will cause Ogre to crash before it starts.  Thus it is important to have material loaded properly at least, likely this should also show in the .log file (found in the /dist/bin directory of your local project).  Generally in linux (not sure what user experience is like on various distros), I've also found installing textures in local project /dist/media/materials/texture folder is a good place.


Odds and End:  
  Implementing MyGui


Also for MyGui I recommend using


using git for retrieving mygui source and then following similarly compilation of mygui for use as with ogre source compilation.


Older subversion link found through Ogre wiki appears to be an outdated link relative to the present most recent versions of Ogre found
through http://www.ogre3d.org/tikiwiki/MyGUI+Compiling  at least as of date, my compilation and build of MyGui through subversion faulted before completion (not sure if deprecation in source code were exactly an issue here).

Mostly I've tried to journal my experiences as related to gaps provisioned by some of the tutorials as of yet.


Cegui installation if using most recent mercurial clone,


When you use the mercurial clone call and build the source code libraries.  I also found that going to a newer fork of cegui library works (version .8x)  will present source library faulted on installation.
Thus for installation I used:


hg clone https://bitbucket.org/cegui/cegui
from terminal go to cegui library source root directory, then use the following command to update your source to the following version fork:
hg pull && hg update v0-8

Installation goes as follows:
Prerequisites:
Likely, as with any Ogre build dependencies that you'd have installed I recommend the following below additionally for cmake generation.
You may find an error on a typical cmake build with glew and glm libraries, just go to your distros app center and install the development glew and glm libraries, if these packages show missing.  Especially check for these libraries.  Also I installed 
libboost-all-dev package as well or at terminal
sudo apt-get install libboost-all-dev

while boost will show with the standard libboost package (used for ogre installation) cmake compilation will yield boost showing but not showing on some other things. The libboost-all-dev package will include compilation of python bindings (which could technically be optional) but I believe owing to previous compilation build and installation issues some added packages to get cegui properly configured may be missing otherwise with the libboost as opposed to the libboost-all-dev package.


Thus installation as per cegui guide is typical or at terminal:
from terminal change directory to cegui source directory,
then
mkdir build
cd build
cmake ..


If everything looks good type in the same directory from terminal:


make
sudo make install

Otherwise build should be fine.



Compiling Ogre Basic Tutorial 7 project with Cmake.   


Unfortunately there’s a bit of an absence on direct information on how to implement  the CMakeList.txt  cegui and ogre_cegui libraries...actually found from http://www.axelschumacher.fr/218/link-ogre-with-cegui-ogre-basic-tutorial-7-using-cmake/  
a solution on this.  


I did find a potential compilation error with make with adding include libraries in script above and slightly modified a couple of lines which appears to have fixed pathing errors.
Find the bold existing code in your CMakeList.txt and apply those changes:
set(OGRE_LIBRARIES ${OGRE_LIBRARIES} ${Boost_LIBRARIES}
endif()

find_package(CEGUI REQUIRED)
if(NOT CEGUI_FOUND)
message(SEND_ERROR "Failed to find CEGUI.")
endif()

find_package(CEGUIOGRE REQUIRED)
if(NOT CEGUIOGRE_FOUND)
message(SEND_ERROR "Failed to find CEGUIOGRE.")
endif()

set(HDRS
./BaseApplication.h

////////////////////////////////////////////////////

include_directories( ${OIS_INCLUDE_DIRS}
${OGRE_INCLUDE_DIRS}
${OGRE_SAMPLES_INCLUDEPATH}
${CEGUI_INCLUDE_DIR}
${CEGUIOGRE_INCLUDE_DIR}
)
And replace
target_link_libraries(OgreApp ${OGRE_LIBRARIES} ${OIS_LIBRARIES})
by
target_link_libraries(OgreApp ${OGRE_LIBRARIES} ${OIS_LIBRARIES} ${CEGUI_LIBRARY} ${CEGUIOGRE_LIBRARY_OPTIMIZED})
Once you are done with that, you will have to actually own the invoked scripts (find CEGUI and CEGUIOGRE).
You can find them here, and copy them where you installed Ogre (usually in /usr/local/lib/OGRE/cmake/), so that cmake-gui will find them quite easily.
If you don’t want them all, only CompareVersionStrings.cmake, HandleLibraryTypes.cmake, DetermineVersion.cmake, FindCEGUIOGRE.cmake, FindCEGUI.cmake and FindPackageHandleAdvancedArgs.cmake are necessary for our current concern.
The Basictutorial7.h  header file should be modified at line


#include ..CEGUI/RendererModules/Ogre/CEGUIOgreRenderer.h..


to

#include... CEGUI/RendererModules/Ogre/Renderer.h...

You will also want to include, if you want to render your viewport texture in a cegui window 

#include ...CEGUI/RendererModules/Ogre/Texture.h...

This is important actually for any render to texturing in CEGUI window I've found in Ogre using Cegui under linux. I spent the better part of a day searching google to no avail on why in the absence of this include I was getting a static_cast issue on Cegui::OgreTexture either a forward or incomplete type issue which amounted to the compiler sort of having class declaration information but sort of not (apparently some declaration circularity issue...).

The source code while providing a number of fixes for cegui version .8x generally works.

Another thing that I've found, not sure if this is exactly right, but when working with updates to source code repositories, it may be wise to set up and alternate build directory of your choosing in the given source directory path (e.g. of ogre, or cegui) and running the cmake and make commands as usual for compilation and builds of updates. I've found that when adding new packages for cmake compilation while cmake provides includes, it appears that compilation and builds may still have exclusions or something on this.

Intermediate Tutorial 2
    Since correct source is not compiled either from basic tutorial 3 and 7 which would aid in compilation this has been a bit slower than expected.  I'd highly recommend adapting especially from basic tutorial 3 and 7 especially appending as necessary from above for the cmakelist.txt file.  Header and .cpp include header files listed in this tutorial are different (and won't work) for ogre 1.9, cegui .8x build, basically you'd use the same header include paths as found in basic tutorial 7 and basic tutorial 3 for present terrain management system (basically a couple of terrain header file includes).  I may post a link to source code header and cpp files.  Generally everything working up to raytrace camera terrain heightmap collision checking.  Here it appears something is fouled up, and I'd like to have cegui rendering something of a debug output, so I am presently studying getting some layouts enabled that would include for console print type output while the application is running, so I can see how the terrain camera to terrain position height checking stl container is reading all this (whether it has, for instance, any value or exactly what value is given here)...  Installed also ceed  which is basically a visual gui layout editor for cegui.


Further scope of the problem and why the tutorial may be considered generally incompatible I am guessing...

The problem comes with these lines in the collision detection routine.

         if (itr != result.end() && itr->worldFragment)
         {
    Ogre::Real terrainHeight = itr->worldFragment->singleIntersection.y;
             if ((terrainHeight + 10.0f) < camPos.y)
                 mCamera->setPosition( camPos.x, terrainHeight + 10.0f, camPos.z );
         }

itr -> worldFragment always returns a False boolean type because with the Octree scene management system by default as of Ogre version 1.8 the old terrain management system has been changed, and World fragment type on the ray scene query by default is set to
Ogre::SceneQuery::WFT_NONE

The problem however in setting this to
Ogre::SceneQuery::WFT_SINGLE_INTERSECTION

for instance on the line

mRaySceneQuery ->setWorldFragmentType(Ogre::SceneQuery::WFT_SINGLE_INTERSECTION );

however is that this automatically yields an error on program execution as 

20:07:01: OGRE EXCEPTION(2:InvalidParametersException): This world fragment type is not supported. in SceneQuery::setWorldFragmentType

meaning the scene manager is not supporting this...I haven't found a solution for implementing this as of yet, although it seems that a work around is going to a movable type collision method and forgoing worldFragment collision methods here.

Here is a very crude print log method that I've found using the following layout using cegui by the way.  Although you'd need to figure out out how to do input output type conversions on any object that you wanted to print out for the given application running output console.

So here is the Taharez layout file.  So that my resources.config file can read this additionally (without having to append this layout in the default resources directory outside my project)...

Resources config file looks like:

# Resources required by the sample browser and most samples.
[Essential]
Zip=../media/packs/SdkTrays.zip
Zip=../media/packs/cubemapsJS.zip

# Resource locations to be added to the default path
[General]
FileSystem=../media
FileSystem=../media/materials/scripts
FileSystem=../media/materials/textures
FileSystem=../media/models
FileSystem=../media/Fonts/Script

[CEGUI]
 FileSystem=/usr/local/share/cegui-0/schemes
 FileSystem=/usr/local/share/cegui-0/fonts
 FileSystem=/usr/local/share/cegui-0/imagesets
 FileSystem=/usr/local/share/cegui-0/layouts
 FileSystem=/usr/local/share/cegui-0/looknfeel
 FileSystem=/usr/local/share/cegui-0/lua_scripts
 FileSystem=/usr/local/share/cegui-0/schemes
 FileSystem=/usr/local/share/cegui-0/xml_schemas
 FileSystem=../media/layouts

For instance while in my main ogre application scene function constructor I've used the following lines:

CEGUI::SchemeManager::getSingleton().createFromFile("TaharezLook.scheme");
    CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("TaharezLook/MouseArrow");
CEGUI::Window* myRoot = CEGUI::WindowManager::getSingleton().createWindow( "DefaultWindow", "_MasterRoot" );
CEGUI::System::getSingleton().getDefaultGUIContext().setRootWindow( myRoot );
CEGUI::Window *newWindow = CEGUI::WindowManager::getSingleton().loadLayoutFromFile("TreeDemoTaharez2.layout");
CEGUI::System::getSingleton().getDefaultGUIContext().getRootWindow()->addChild(newWindow);
newWindow ->setAlpha(.5);
CEGUI::Window *MultiLineEditbox = newWindow ->getChild("MultiLineEditbox");
    MultiLineEditbox ->setText("Hello World!");
CEGUI::Window *editbox = newWindow ->getChild("Editbox");
    editbox ->setText("Hello World!");

Above code also demonstrates accessing, for instance, individual widget "windows" inside the child windows, and setting individual properties.  I used Cegui Docs .8 as a reference for function/method calls, or alternate I imagine if using a gui editor you can alternately use a set properties type function likewise.

Heres an example type conversion boolean to string conversion call in c++ that I found...most definitely a bit more code work here relative to other languages...the includes provisioned at the main ogre program outset, for instance,


#include ...iostream...
#include ...string...
#include ...sstream...
...
...
...
         std::ostringstream ss, ss2;
         bool val;
         bool val2;
     
         val = (itr == result.end());
         ss << std::boolalpha << val ;
         val2 = (itr -> worldFragment);
         ss2 << std::boolalpha << val2 ;

then

ss.str() or ss2.str() calls returns a string array object which can then be input into the application console

since I hadn't made more global the scope of the widget which could be of use, alternately inside the particular function that implemented the ray scene query I used (namely, frameRenderingQueued):

CEGUI::Window *newWindow = CEGUI::System::getSingleton().getDefaultGUIContext().getRootWindow()->getChild("DemoWindow");
CEGUI::Window *MultiLineEditbox = newWindow ->getChild("MultiLineEditbox");

where "DemoWindow" is the name of the child window inside the main application window, and "MultiLineEditbox" is inside "DemoWindow". These references are also indicated in the layout file link mentioned above.  

Once have a reference to "MultiLineEditbox" child widget window we can set or append text, for instance as follows:

MultiLineEditbox ->setText(ss.str());
MultiLineEditbox ->appendText("\n");
MultiLineEditbox ->appendText(ss2.str());

In this case revealing, the results of ray scene query boolean conditionals given by the tutorial necessary for ray trace camera to terrain collision. The itr is non empty but obviously if you didn't know that itr's worldFragment type mattered, you'd find that the second boolean evaluation would be coming up False or empty all the time... hence leading to the problem likely revolving around the tutorial's incompatibility with present Ogre versions.

Terrain Collision incompatibility workaround in Intermediate Tutorial 2

So as mentioned the ray tracing approach doesn't exactly appear to work, and a test of movable objects on the iterator class appears to be provisioning a rough approximate bounding box around the terrain but hardly useful for camera clamping to terrain below a certain height threshold.  Another solution does this:

Ogre::Vector3 camPos = mCamera->getPosition();

....remove everything on collision solution given on the tutorial below the line above.... and substitute this below...

float theight = mTerrainGroup->getHeightAtWorldPosition (camPos);

if (camPos.y < theight + 10.0f)
         {

                 mCamera->setPosition( camPos.x, theight+10.0f, camPos.z );
         }

Basically data return on this is exact, and hopefully should work.

Some helpful tidbits.  I used the Ogre docs and then from there on the left hand side chose...

Ogre>Modules>Components>Terrain

At this point, examining your tutorial header you can see the terrain object type here which is

TerrainGroup

So selecting the drop down on TerrainGroup yields all sorts of class methods for this particular object, and hence where I found getHeightAtWorldPosition()

















Terrain Selection modification for Intermediate Tutorial 2 with Ogre 1.9, Cegui .8.4 
Again because raytracing with worldFragment is down because of changes in Terrain managers, in this case although this hadn't allowed us to select clearly from a given terrain a position on the terrain this provides us with a working routine for placing objects (this would always be at the camera's position as given by the code below).  This method below does not place an object at the mouse selected region but instead sets up ray, and chooses the camera's position for the source of placing the object.  Technically if you wanted terrain selection, you'd need to do some added work, or find a work around to the inherent problems with ray tracing as related to the worldFragment issue in Ogre 1.9

            CEGUI::Vector2 mousePos = CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().getPosition();
            Ogre::Ray mouseRay = mCamera->getCameraToViewportRay(mousePos.d_x/float(arg.state.width), mousePos.d_y/float(arg.state.height));
            //mRaySceneQuery->setRay(mouseRay);
            Ogre::Vector3 ovec = mouseRay.getOrigin();
            //I believe this next function always clamps to a position on the terrain even if the viewport
            //mouse ray origin has no clear corresponding points bounded over the terrain.
            float theight = mTerrainGroup->getHeightAtWorldPosition (ovec);
            char name[16];
                sprintf( name, "Robot%d", mCount++ );
            Ogre::Entity *ent = mSceneMgr->createEntity(name, "robot.mesh");
            mCurrentObject = mSceneMgr->getRootSceneNode()->createChildSceneNode(std::string(name) + "Node", Ogre::Vector3(ovec.x,theight,ovec.z));
            mCurrentObject->attachObject(ent);

On the other hand we have a Ray defined, and we could attempt some means for collision detection one should imagine, whether we defined our method here...if you were ever interested in exploring possibility outside of predesign in ray tracing, one method could use something as simple as a comparison result before and after.  For instance, where we test the ray for one length and a longer length, and then if either show a hit boundary between this we scoot the ray forward  by an increment of one half from its previous position to the end point test position or lessen its length by one half for a given travel distance,  and then repeat this test procedure until finding the area (within tolerance where the ray intercepts the terrain mesh).   Obviously the method utilizes a heightmap point test position where clearly the ray is above and below the heightmap at all times from origin to end, while the method for ray tracing refines the ray travel distance (from a point origin to end test point) in finding the collision object.  Obviously as the distance from ray test origin to test end point, decreases in time (rapidly we should hope), a collision is given.  Some problems though that can be added to this, the direction of the ray is such that we could have potentially more than one ray intersection for a ray crossing.  Obviously we'd need to refind potentially search methods so as to ensure that we, for instance, are choosing the first point of intersection and not a third, or forth down the line.

Okay so here's a really simple collision checking method.  It may not be the most efficient but generally does the job rapidly enough

            for (int i = 0; i < 4000 ; i ++){
               Ogre::Vector3 ovec1 = mouseRay.getPoint(i);
      float theight1 = mTerrainGroup->getHeightAtWorldPosition (ovec1);
               if (theight1 > ovec1.y){
                   ovec = ovec1;
                   theight = theight1;
                   break;
               }
            }

This added below the script above yields a simple mouse terrain selection method (with ray tracing).

Or here's the script for mouse pressed method in main application

        if (id == OIS::MB_Left)
        {
                // Setup the ray scene query, use CEGUI's mouse position
            CEGUI::Vector2 mousePos = CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().getPosition();
            Ogre::Ray mouseRay = mCamera->getCameraToViewportRay(mousePos.d_x/float(arg.state.width), mousePos.d_y/float(arg.state.height));
            //mRaySceneQuery->setRay(mouseRay);
            Ogre::Vector3 ovec = mouseRay.getOrigin();
            //I believe this next function always clamps to a position on the terrain even if the viewport
            //mouse ray origin has no clear corresponding points bounded over the terrain.
            float theight = mTerrainGroup->getHeightAtWorldPosition (ovec);
            for (int i = 0; i < 4000 ; i ++){
               Ogre::Vector3 ovec1 = mouseRay.getPoint(i);
      float theight1 = mTerrainGroup->getHeightAtWorldPosition (ovec1);
               if (theight1 > ovec1.y){
                   ovec = ovec1;
                   theight = theight1;
                   break;
               }
            }
            char name[16];
                sprintf( name, "Robot%d", mCount++ );
            Ogre::Entity *ent = mSceneMgr->createEntity(name, "robot.mesh");
            mCurrentObject = mSceneMgr->getRootSceneNode()->createChildSceneNode(std::string(name) + "Node", Ogre::Vector3(ovec.x,theight,ovec.z));
            mCurrentObject->attachObject(ent);
            //mCurrentObject->setScale(0.1f, 0.1f, 0.1f);
            mLMouseDown = true;

        } // if


You can similarly modify the object dragging script as given in the tutorial with changes listed above, to implement object dragging.  It would be noted that when you miss the terrain, the ray tracing method automatically, set's the object's position to the camera's position until a point on the terrain is selected again with the left mouse button held down.

Here is my all-in-one archived linux file/directory set for Intermediate Tutorial 2

Intermediate Tutorial 3  

Everything from the previous tutorial should work fine.  I slightly modified the tutorial, however, incorporating a 'c' key operation which provides for selection versus object 'robot' or 'ninja' adding, and then I modified selection parameters so that mouse dragging would also allow for ray trace selecting an object.  Pretty easy a modification to selection ray tracing check on the ray trace query is given as follows:

            for(itr = result.begin(); itr != result.end(); itr++){
                if (itr->movable && itr->movable->getName() != "")
                {
                mCurrentObject = itr->movable->getParentSceneNode();
                break;
                } // if
            }

where itr is starts at the beginning of the ray trace query container as an iterator.  Mostly since the world terrain as according to instancing methods given by Basic Tutorial 3, is not given a name, we wouldn't worry about terrain collision, secondly terrain collision isn't exactly working, so we wouldn't need worry about a collision with this as a named movable type.  Thus we are looking for a collision basically with any thing named for selection parameters here.

I added this both to mousepressed and mousemoved (for mouse dragging selecting objects with left mouse button held down while dragging the mouse cursor).

Everything beyond this point in the tutorial works find including selection mask queries and so forth. Selection mask enums can be added inside the class at the header outset.

Here is my all-in-source for Ogre Intermediate Tutorial 3

As to the selection versus object adding controls, this can be done inside the mouse pressed and mouse moved event method calls.  Generally using another class global boolean parameter (defined in header) that determines whether or not to use object tool selection versus object add methods.

Thus

if (selectMode){
            for(itr = result.begin(); itr != result.end(); itr++){
                if (itr->movable && itr->movable->getName() != "")
                {
                mCurrentObject = itr->movable->getParentSceneNode();
                break;
                } // if
            }
        }

where selectMode is the boolean parameter that is toggled using the keyboard 'c' key input determines whether selection mode is set versus object add.

beyond this

else{
....
}

does the object add stuff as given in the previous tutorial and including newer stuff in this tutorial.

Intermediate Tutorial 4

   C++ or gcc compilation noobness on my part.  Making sure to include link info important here...

when including header file, unless you specifically indicate compilation links to .cpp files, I've found you'd likely want to link these as well...

for instance,
not only is
#include "SelectionBox.h"

used in the IntermediateTutorial4.h  header but also linking the SelectionBox.cpp is important or at least for my basic configuration important since header links to .cpp evidently not a given so

#include "SelectionBox.cpp"

apparently resolves in the main application.

I used the same cmakelist.txt files for cmake compilation modifying for this tutorial slightly at header references.

Then as usual changes in CEGUI invocations, for instance,
for loading 'scheme' and mouse cursor

CEGUI::SchemeManager::getSingleton().createFromFile("TaharezLook.scheme");
        CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().setDefaultImage("TaharezLook/MouseArrow");


The selection box CEGUI calls can be alternately written for obtaining and storing mouse cursor data as:
                CEGUI::Vector2 mousePos = CEGUI::System::getSingleton().getDefaultGUIContext().getMouseCursor().getPosition();
        mStart.x = mousePos.d_x / (float)arg.state.width;
        mStart.y = mousePos.d_y/ (float)arg.state.height;


Similarly for mStop just substituting this as needed in the appropriate function/method call.

Make sure either to link in cmake your materials and models libraries as usual or import them as necessary, otherwise you'll crash right away.  Mostly you just need to have the 'robot.mesh' and skeleton I believe loaded here...although it'd likely be good to grab the materials scripts, and texture libraries.

Otherwise, everything looks pretty good.

Oblivion

 Between the fascination of an upcoming pandemic ridden college football season, Taylor Swift, and Kim Kardashian, wildfires, crazier weathe...