|
From: Mark R. D. <mdi...@la...> - 2003-08-09 22:29:24
|
I would be interested in seeing how you've built the (DisplaySurface) rendering of your vector of objects in 3D. When it boils down to it, even when rendering 2D grids, the optimized way of doing it is to iterate over the ArrayList of Agents. We would apply the same strategy in 3d, only the Display engine would be the 3D scene graph instead of the 2D DisplaySurface From my understanding of Java 3D theres considerable work to implement it on top of graphics acceleration on many different platforms: http://www.j3d.org/download.html I've seen it run quite efficiently on a project that provides Java based 3D visualization of Complex Protien Molecules: http://mbt.sdsc.edu/ I've been extending my topology.space library to also support 3D spaces as grids. Alot of work still needs to get done in separating the displays "presentation" from the Data Model when it comes to displaying objects/grids of objects in both 2D and 3D. Unfortunately, the old space/display library approaches rendering by mixing the presentation and data objects at the "Agent" level, this means that agents are both "Data Objects" and "Display Objects" for the 2D DisplaySurface. This is problematic when using different implementations for display rendering 2D, 3D, various GIS tools, etc). Our future intent it to separate the objects data and presentation aspects so that the "presentation" of the object is not encapsulated in the same class as the object itself. This way the object may hold the information about its position, but the DisplaySurface/Volumn will manage the presentation aspects separately via some sort of "stylesheet" strategy. -Mark Phil Feldman wrote: > For my stuff, I worked entirely in VectorSpace. Basically, I create a > pile of objects and build a java3d scene graph out of them. Then it's a > matter of moving things about. For a DescreteSpace (cell-based) system, > it might make sense to look at volume rendering, since each texel could > cerrespond to a cell. The problem is that I'm not sure if it's yet > possible to update a 3D texture in real time on anything other than an > SGI. There-s a lot of memory to move. Isosurfaces could also work, but > you'd have to avoid the scene graph. SGI and SUN are coming out with > "OEM" java bindings to openGL, so that might be the way to go. > > Phil Feldman > >> I suspect it would be fun for us to explore the future of >> Object3DSpaces for our new topology.space library we've been building >> too. with the establishment of a Spaces methods only >> accepting/returning "Locations" instead of x/y coordinates, this would >> free us up to make > 2 dimensional spaces without being restricted by >> the interfaces. >> >> >> interface DiscreteSpace { >> >> public Location removeLocation(Location loc); >> >> public Location getLocation(Location loc); >> >> public void removeObjectAt(Object obj, Location loc); >> >> public void putObjectAt(Object obj, Location loc); >> >> public void getObjectAt(Location loc); >> >> } >> >> class Discrete2DSpace implements DiscreteSpace { >> >> ... >> >> } >> >> class Discrete3DSpace implements DiscreteSpace { >> >> ... >> >> } >> >> class Object2DLocation implements Location{ >> >> public int getX(){ >> ... >> } >> >> public int getY(){ >> ... >> } >> >> } >> >> >> class Object3DLocation extends Object2DLocation{ >> >> public int getZ(){ >> ... >> } >> >> } >> >> I imagine it would be interesting to have Different "Display Surfaces" >> for the space, imagine "top", "side", "front", "isometric" and "3D >> adjustable" Displays, the 2D (top, side, front) Could easily be >> superimposed on a 2D DisplaySurface while a 3D display surface would >> need to be created for isometric and adjustable 3D Displays. >> >> -Mark >> >> >> Phil Feldman wrote: >> >>> I've been doing a lot of work in that area for the past year or so. >>> It's not quite ready for prime time, but I may be able to help you >>> out a bit. >>> >>> Phil Feldman >>> >>>> Has anyone done any work on 3d-space models (like Heatbugs in >>>> 3d-space) in Repast or anyone planning on it ? Like with Java3D ? >>> >>> >>> >>> >>> >>> >>> >>> >>> >>> ------------------------------------------------------- >>> This SF.Net email sponsored by: Free pre-built ASP.NET sites including >>> Data Reports, E-commerce, Portals, and Forums are available now. >>> Download today and enter to win an XBOX or Visual Studio .NET. >>> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 >>> >>> _______________________________________________ >>> Repast-developer mailing list >>> Rep...@li... >>> https://lists.sourceforge.net/lists/listinfo/repast-developer >> >> >> >> >> >> ------------------------------------------------------- >> This SF.Net email sponsored by: Free pre-built ASP.NET sites including >> Data Reports, E-commerce, Portals, and Forums are available now. >> Download today and enter to win an XBOX or Visual Studio .NET. >> http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 >> >> _______________________________________________ >> Repast-developer mailing list >> Rep...@li... >> https://lists.sourceforge.net/lists/listinfo/repast-developer >> > > > > > > ------------------------------------------------------- > This SF.Net email sponsored by: Free pre-built ASP.NET sites including > Data Reports, E-commerce, Portals, and Forums are available now. > Download today and enter to win an XBOX or Visual Studio .NET. > http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01 > _______________________________________________ > Repast-developer mailing list > Rep...@li... > https://lists.sourceforge.net/lists/listinfo/repast-developer |