<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
span.EmailStyle17
        {mso-style-type:personal;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
 /* List Definitions */
 @list l0
        {mso-list-id:81297311;
        mso-list-type:hybrid;
        mso-list-template-ids:1388237588 -411539896 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Calibri","sans-serif";
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
@list l1
        {mso-list-id:2006665128;
        mso-list-type:hybrid;
        mso-list-template-ids:1194752540 600225290 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
        {mso-level-start-at:0;
        mso-level-number-format:bullet;
        mso-level-text:-;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;
        font-family:"Calibri","sans-serif";
        mso-fareast-font-family:Calibri;
        mso-bidi-font-family:"Times New Roman";}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1" />
 </o:shapelayout></xml><![endif]-->
</head>

<body lang=EN-US link=blue vlink=purple>

<div class=Section1>

<p class=MsoNormal><span style='color:#1F497D'>My apologizes for the late
reply. You’ve no doubt got something working by now.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>The following is what I did to
work out quickly how to get speed tree working in OSG using a custom drawable.
The lead coder has since taken this and implemented it a much nicer fashion.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>First of all, I recommend
reading all the documentation. There’s not too much of it to go through.
But it will help you plan the best way to integrate osg for your needs and
develop a workflow around it. Also go through the reference application OpenGL
example line by line. Make changes here and there and see the effect of it.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>If you plan on going down the
custom drawable route, check out - <a
href="http://www.openscenegraph.org/projects/osg/attachment/wiki/Support/Tutorials/Tuto10.zip">http://www.openscenegraph.org/projects/osg/attachment/wiki/Support/Tutorials/Tuto10.zip</a>
<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>It’s a good tutorial on
custom drawables.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>In essence, the implementation
can be distilled like so:<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Create a speed tree
forest<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Create a custom
drawable to draw speed tree forest using the reference application code<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Add custom drawable
to a geode<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l1 level1 lfo2'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Add it to the scene<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>This implementation is by no
means the best way of doing things. I chose this for the following reasons:<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Easy to implement<o:p></o:p></span></p>

<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='color:#1F497D'><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>         
</span></span></span><![endif]><span style='color:#1F497D'>Suited my employer’s
immediate needs<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>We anticipate it will have
troubles when we start creating scene with a lot of alpha transparencies on
objects. So if anyone reading has solved this problem, I’d love to hear
your method.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Before coding, I recommended
creating a simple terrain model, and a SpeedTree forest for this model in your modeling
tool of choice.<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><b><span style='color:#1F497D'>Custom Drawable (ignore the
dodgy formatting from copy\pasting):<o:p></o:p></span></b></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>virtual</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:blue'>void</span> <span
style='color:#010001'>drawImplementation</span>(<span style='color:#010001'>osg</span>::<span
style='color:#010001'>RenderInfo</span>& <span style='color:#010001'>renderInfo</span>)
<span style='color:blue'>const<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>{<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:blue'>float</span> <span style='color:#010001'>afProjection</span>[16];<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:blue'>float</span> <span style='color:#010001'>afModelView</span>[16];<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:#010001'>glGetFloatv</span>(<span style='color:#010001'>GL_PROJECTION_MATRIX</span>,
<span style='color:#010001'>afProjection</span>);<span style='color:green'> <o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:#010001'>glGetFloatv</span>(<span style='color:#010001'>GL_MODELVIEW_MATRIX</span>,
<span style='color:#010001'>afModelView</span>);<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:#010001'>glPushAttrib</span>(<span style='color:#010001'>GL_ALL_ATTRIB_BITS</span>);<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>//for obvious
reasons, IDV code isn’t shown. <o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>//Update the
forest camera<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>//Update time<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:green'>//Draw</span><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:1.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New"'>            <o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:#010001'>glPopAttrib</span>();<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:green'>//renderInfo.getState()->apply(); //needed?<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:green'>//Based on Robert’s advice. Return a default bounding box so
that osg doesn’t cull this forest drawable<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:green'>//This implementation relies solely on SpeedTree’s culling
and LODing</span><span style='font-size:10.0pt;font-family:"Courier New"'><o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>virtual</span><span style='font-size:
10.0pt;font-family:"Courier New"'> <span style='color:#010001'>osg</span>::<span
style='color:#010001'>BoundingBox</span> <span style='color:#010001'>computeBound</span>()
<span style='color:blue'>const<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>{<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             
<span style='color:#010001'>osg</span>::<span style='color:#010001'>BoundingBox</span>
<span style='color:#010001'>b</span>;<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             
<span style='color:blue'>return</span> <span style='color:#010001'>b</span>;<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><b><span style='color:#1F497D'>Test Application (will just
paste the relevant code):<o:p></o:p></span></b></p>

<p class=MsoNormal><b><span style='color:#1F497D'><o:p> </o:p></span></b></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New";color:blue'>int</span><span style='font-size:10.0pt;
font-family:"Courier New"'> <span style='color:#010001'>main</span>()<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>{<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>      <span
style='color:green'>//Create your osg stuff, root node etc<o:p></o:p></span></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:green'>      //Setup terrain model<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:green'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New";
color:green'>      //I couldn’t find a way
around this… You have to init glew.<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//I can’t remember what happens if
you don’t do this… but I suspect it’s less than ideal.<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:#010001'>viewer</span><span
style='font-size:10.0pt;font-family:"Courier New"'>-><span style='color:
#010001'>getCamera</span>()-><span style='color:#010001'>getGraphicsContext</span>()-><span
style='color:#010001'>makeCurrent</span>();<span style='color:green'> <o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>       <span
style='color:blue'>if</span> (!<span style='color:#010001'>bGlewInitialized</span>)<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>       {<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             <span
style='color:#010001'>GLenum</span> <span style='color:#010001'>err</span> = <span
style='color:#010001'>glewInit</span>( );<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             <span
style='color:blue'>if</span> (<span style='color:#010001'>err</span> != <span
style='color:#010001'>GLEW_OK</span>)<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             {<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>                   <span
style='color:#010001'>printf</span>(<span style='color:#A31515'>"GLEW
initialization failed: %s\n"</span>, <span style='color:#010001'>glewGetErrorString</span>(<span
style='color:#010001'>err</span>));<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>                   <span
style='color:#010001'>exit</span>(-1);<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>             }<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>       }<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//create your speed tree forests (again
IDV code, so look at the reference application). Store them in the supplied //vector
if you need.<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//you could of course do this in the
custom drawable. I just happened to do it here as I was following the reference<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//application.<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//set forest lighting<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//populate from forest file<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//set fog – horrible looking!<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//set lod<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//set projection<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//set lod distances<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//I then created an OSG stateset that
replicated the reference app. But I found it wasn’t needed using<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//the custom drawable code. Experiment.<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'><o:p> </o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New";color:green'>//Create a Forest Drawable<o:p></o:p></span></p>

<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt;
font-family:"Courier New"'>forestDrawable-><span style='color:#010001'>setUseDisplayList</span>(<span
style='color:blue'>false</span>);<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:#010001'>osg</span><span
style='font-size:10.0pt;font-family:"Courier New"'>::<span style='color:#010001'>Geode</span>
*<span style='color:#010001'>fGeode</span> = <span style='color:blue'>new</span>
<span style='color:#010001'>osg</span>::<span style='color:#010001'>Geode</span>();<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>      <span
style='color:green'>//fGeode->setStateSet(speedTreeState);<o:p></o:p></span></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>      <span
style='color:#010001'>fGeode</span>-><span style='color:#010001'>addDrawable</span>(forestDrawable);<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:#010001'>root</span><span
style='font-size:10.0pt;font-family:"Courier New"'>-><span style='color:
#010001'>addChild</span>(<span style='color:#010001'>fGeode</span>);<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New";color:blue'>while</span><span
style='font-size:10.0pt;font-family:"Courier New"'>(!<span style='color:#010001'>viewer</span>-><span
style='color:#010001'>done</span>() )<o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>      {           <o:p></o:p></span></p>

<p class=MsoNormal style='text-autospace:none'><span style='font-size:10.0pt;
font-family:"Courier New"'>            <span
style='color:#010001'>viewer</span>-><span style='color:#010001'>frame</span>();<o:p></o:p></span></p>

<p class=MsoNormal style='text-indent:.5in;text-autospace:none'><span
style='font-size:10.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'>}<o:p></o:p></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>You’ll probably come
across weird problems, but that’s the probably the easiest way to get
SpeedTree into OSG. But keep in mind it’s far from ideal. So evaluate it
to see if it meets your needs. Best of luck!<o:p></o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'>Bino<b><o:p></o:p></b></span></p>

<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Courier New"'><o:p> </o:p></span></p>

<p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p>

<div>

<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>

<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span
style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> osg-users-bounces@lists.openscenegraph.org
[mailto:osg-users-bounces@lists.openscenegraph.org] <b>On Behalf Of </b>Seppo
Laukkanen<br>
<b>Sent:</b> Saturday, August 23, 2008 9:19 PM<br>
<b>To:</b> osg-users@lists.openscenegraph.org<br>
<b>Subject:</b> [osg-users] SpeedTree example<o:p></o:p></span></p>

</div>

</div>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><span lang=FI>Hi!<o:p></o:p></span></p>

<p class=MsoNormal><span lang=FI><o:p> </o:p></span></p>

<p class=MsoNormal>I read from posts that people have been successful to
integrate SpeedTree to OSG at least by “1. alternative: Just use the
opengl example from speedtree and wrap it with a custom drawable.”.<o:p></o:p></p>

<p class=MsoNormal>Is it possible for someone who have accomplished this to put
some short example etc how to get started?<o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal>Thanks!<o:p></o:p></p>

<p class=MsoNormal>Seppo <o:p></o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

<p class=MsoNormal><o:p> </o:p></p>

</div>

</body>

</html>