Hello folks, somewhat of a newb here. My background's in Neuroscience and AI, and after 2 years intense labors and research I recently finished the pseudocode for an AI engine that will be able to edit neurons and synapses in 3D, and do anything imaginable to how they interact intracellularly, intercellularly, and extracellularly. So I'm trying to write a 3D engine, physics and all, that will hook up creatures with collision detecting sensors, and actuators that move their virtual musculature via signals to preset motor neurons. Also trying to write the 3D code so that the user can "swim" through a virtual brain and edit the nodes/links of the creature's neural network interactively, composing the brain architecture with the help of some of my personal templates for intelligent and "instinct" driven behaviors.
The problem, my only obstacle at this point, is getting Direct3D to do what I want it to!
I've read half a dozen intros on Direct3D, mentioning how to initialize the World/View/Projection Matrices, however not one of them mentioned anything at all about how to control the X/Y/Z bounds of the World Space. So I'm having trouble trying to load an object into specific areas of the world space, and loading/unloading world space zones between RAM and the hard drive based on the Camera's position in an arbitrarily large overall World. Logically, with large worlds (like a brain space, they could get HUGE, trust me) you only ought to keep the zone around the camera in RAM, and load space from the hard drive as necessary while the camera moves around.
I'm thinking of writing the 3D engine so that it partitions Space into slices of Cubes. That way I could load Cubes from the hard drive as they're needed depending on the zFar (view distance) outer bounds that the Camera/ViewMatrix can see to. Also that way the entire World itself can be "swum" through up, down, left, right, etc. to observe neuron's as they're signaling in brain space, or how the creature is actually behaving in world space.
But whenever I see code translating objects into World Space, it's like they're taking the coordinate numbers out of thin air! They never initialized World space as having set x/y/z boundaries.
I think I know enough i/o to be able to save and load these cubes between ram and hard drive, but in order to start I really need a way to have complete control over every coordinate point inside of World Space. i.e. when the Camera object hits a Cube wall, it calls the new Cube the "center" and loads something like a 9x9 number of cubes around the Camera's new Cube as the new "World Space". Can anyone here suggest how to go about this?
Also, I program in VB.NET rather than hardcore C++ like most everyone else seems to, but I am trying to better understand Shader language and effect files. If you're as itchy to write code as I am, feel free to use any language! If you like the idea of this program I'm working on, the more help I get now the sooner I'll have it finished and can hopefully share (if it turns out well enough)!
OH, and one more related question. It seems that Coordinates are Single (i.e. 1.00etc.) values. How is it that vertices can be placed inbetween the actual x/y/z coordinates? Does that mean that you can have a World Space that's only 10x10x10 but still load in objects that could have 1000's of vertices just stuffed inbetween the points?
I guess what I need most is some clear, understandable explanation of how to have complete control manipulating the on-screen 3D coordinates and what's inside of them.
tnx,
LunarSylph