--
[ Picked text/plain from multipart/alternative ]
A bit OT: But did you advertise this mod on hl2world, because I remember
seeing something like this and being amazed.

On 8/9/05, Tim Holt <[EMAIL PROTECTED]> wrote:
>
> Joshua, I'm also very interested in this. I'm working on a forest
> visualization
> project at Oregon State University, and had considered SpeedtreeRT as
> well.
>
> I have a hunch where you would integrate it, or how. Take a look at
> DetailObjectSystem.cpp - which handles the detail stuff (fading out grass
> props, etc.) Basically what it does is something like this...
>
> 1) On map load, it creates a list of all detail props in the map as
> defined in
> the BSP
> 2) Maintains a sub-list of potentially visible detail props as player
> moves
> around from leaf to leaf
> 3) Renders that list each frame, applying fade over distance
>
> What I think would be the correct method of integration is to use this
> code base
> as your model, however assume that you will not be loading the trees from
> the
> bsp. For one thing, the game limits the number of props in the bsp.
>
> I've been thinking of writing my own tree system using this as the
> framework,
> but instead of loading the tree placements from bsp, they would be loaded
> from
> a separate file, or possibly dynamically generated as the player moves
> about.
> Basically if you could calculate terrain surface (assume it's all
> displacement
> surfaces) and also calculate tree types and density (based on material
> used on
> the displacement), you could dynamically populate that draw list of detail
> props.
>
> You could also do some pretty effective LOD management here as well. For
> example, you could draw trees as simple Z locked sprites when they are
> distant,
> and then draw actual models when closer up. Also, you could modify the
> maximum
> visible distance based on the tree density. In a thick forest, you don't
> need
> to draw trees very far. In a thin one, you need to draw them far away. You
> also can take the angle between the tree's Z axis and the player. If the
> angle
> is very small (ie, the player is looking down on the tree) then you can
> potentially render a completely different (and possibly simpler) sprite.
>
> Another idea I had was to create a new shader specifically for terrain.
> Suppose
> you had a brown/dirt forest floor, with trees. If you are under the trees,
> you
> want to see the brown forest floor. If you are above them, you want to see
> trees and no forest floor (all green). Now suppose you had a distant tree
> covered hill visible in the engine. If you don't render the trees onto it,
> you'll just get a brown hill, which won't work at all. What you need is
> like a
> blend texture, where the farther away you get, the more the underlying
> texture
> comes out. SO you could have a brown dirt "top" texture, and a green leafy
> "bottom" texture. The farther you move away from the ground, the more the
> green comes out - until eventually it's all just green leafy cover as if
> you're
> looking at just trees.
>
> If nothing more comes of the email in this, list, let's talk offline on
> this.
> Very interested in sharing tree rendering insights if you're interested.
>
> Tim
>
> Quoting Joshua Alejandro Jacobo <[EMAIL PROTECTED]>:
>
> > We are currently looking to use SpeedtreeRT to generate real-time trees
> > in our mod, as well as larger project down the line, but we are trying
> > to determine if it is possible to integrate the code into the SDK, the
> > people at IDV not offering as much documentation as we would like
> > (except for an outrageous monthly fee). Here is how IDV describes their
> > program:
> >
> > /Interactive Data Visualization's (IDV) SpeedTreeRT is a C++ Application
> > Programmer's Interface (API) designed to provide access to SpeedTree
> > data for interactive, real-time applications. SpeedTreeRT parses the
> > ".spt" files created with SpeedTreeCAD (a stand-alone Microsoft Windows(r)
> > application) and delivers all tree data to the calling application via a
> > well organized, easy to use API. Because SpeedTreeRT is independent of
> > the rendering system, it is applicable to almost any situation where
> > high quality, three dimensional trees must be rendered in real-time.
> > SpeedTreeRT ships with a comprehensive SDK that contains examples of how
> > to render SpeedTrees in some of the more common rendering environments,
> > such as DirectX, OpenGL, and the Gamebryo game engine.
> >
> > /and later:
> >
> > /The final critical advantage offered by SpeedTreeRT is optimal data
> > organization for popular rendering systems. Organizing the data so that
> > it seamlessly fits into your rendering method (e.g., OpenGL(r) vertex
> > arrays, DirectX™ vertex buffers, etc.) means that SpeedTrees will render
> > with maximum performance in your application.
> >
> > /And in response to a question:
> > /
> > //Q. What graphics API does SpeedTreeRT use?
> > A. SpeedTreeRT doesn't depend directly on any specific graphics API;
> > it's a numerical engine. However, SpeedTreeRT does facilitate the use of
> > some graphics APIs by defining geometry with pointers to vertex buffer
> > formats that can be used directly with API calls.
> > SpeedTreeRT does not make use of any system-specific calls. It was
> > written using C++ and the STL library.
> >
> > /While browsing through their SDK, I ran into this in the documentation
> > referring the the work the sample application (Source) would be doing:
> >
> > /Sample Applications:
> > The application handles all basic functions for a particular engine,
> > such as the creation of a window, user interaction, handling messages,
> > etc...
> > The sample application also handles creation of the scene as a whole.
> > This involves the placing of trees and other objects into the scene.
> > When needed, the sample application makes calls to the current SpeedTree
> > wrapper class to access update, rendering, and state management
> > functions of the SpeedTrees
> >
> > /Our question isn't whether the physics and rendering engine are
> > included in the Source SDK because we know that they are not, but
> > rather: would implementing a system such as this be possible, and would
> > access to any API of the Source Engine be possible in any way?
> >
> > I appreciate your feedback ahead of time.
> >
> > -Joshua Jacobo
> > Creative Director
> > http://www.realmsofvalhallon.com
> > /
> > /
> >
> > _______________________________________________
> > To unsubscribe, edit your list preferences, or view the list archives,
> please
> > visit:
> > http://list.valvesoftware.com/mailman/listinfo/hlcoders
> >
> >
>
>
>
> _______________________________________________
> To unsubscribe, edit your list preferences, or view the list archives,
> please visit:
> http://list.valvesoftware.com/mailman/listinfo/hlcoders
>
>


--
- Ben Davison
- http://www.shadow-phoenix.com
--

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to