Sign in to follow this  
  • entries
    455
  • comments
    639
  • views
    421978

TLM : The final few weeks...

Sign in to follow this  
_the_phantom_

84 views

So, it occured to me that I was pretty much running out of time, final year project wise. My time plan had me doing the write up about now, however I've been a bit... lax.. to say the least and I've not got the code finished as yet.

opps.

So, I decided tonight to shake off the lethogy I've been feeling and get the hell on with it; to that end I've spent the last 2h writing the final two modules needed to have the majority of the code done.

The first was the CPU only version of the code; it still needs a few tweaks (VBO upload of mesh data for example, and the rendering code it's self, but that's just a draw call or two) so it's practically done. Although I do need to check my normal generation code for sanity both maths and direction through an array wise; the C# code it's based on does strange things with directions it seems o.O

The second was the CPU+GPU hybrid code; the idea behind this was to have the CPU do the TLM grunt work and then have the GPU's vertex units deform the mesh. In short; the last module with the deformation code and normal generation ripped out and some different shaders in the rendering core.

One problem has cropped up however; while moving the vertices in the direction of their normal by the TLM's indicated magnitude is easy it never occured to me how I'm going to adjust the normal so it points in the correct direction after this deformation; opps [grin]

I might just leave it how it is and then in my critical evaluation waffle about how it wasn't possible due to lack of access to other vertex data and shove in some junk about the Geo-shader unit on DX10 hardware making this more possible in the future (I'm pretty sure it can do it). Just means it has to be timed sans-correctly lighting, which isn't really a problem... infact, I'm cosidering doing it sans sane lighting anyways and just colouring based on height information or something like that.

It's pretty much a 'proof of concept' project anyways and the beauty of it is I've known the outcome since before I started (zomg! GPU only whips CPU and CPU+GPU version for speed! shocker!) the only intresting thing was how it doesn't scale as well as I thought it might, but that's down to bandwidth and nothing more (chunking all that 32bpc info around makes my card cry; 4 cycles to read a sample...), but it gives me something else to write about.

I've also decided to rig up Lua to act as my test script backend; it'll basically run each version of the TLM system at different sizes for a set amount of itteration (1000 seems to be the given number); at the end infomation is extracted... infact, I need to write that system... bah.

Right, 2h of hardish work = break time. I can't test this in Vista anyways and I don't feel like XP tonight.

Need to start the write up soon, however as I can apprently write 5000 words in 3h I'm not feeling too stressed about that as yet, should probably start sunday if I can however.
Sign in to follow this  


1 Comment


Recommended Comments

Nothing like a little pressure, eh? [grin]

Quote:
shove in some junk about the Geo-shader unit on DX10 hardware making this more possible in the future (I'm pretty sure it can do it).
Yup, it could get pretty close via D3D10 (not sure if OpenGL's implementation adds/removes anything). You can easily regenerate face normals, but if you want smoothing groups you're more limited as a single triangle's adjacency is based on sharing edges not vertices (you only get 3 adjacent edges, but you get any number of adjacencies via vertex connections).


Quote:
the only intresting thing was how it doesn't scale as well as I thought it might, but that's down to bandwidth and nothing more (chunking all that 32bpc info around makes my card cry; 4 cycles to read a sample...), but it gives me something else to write about.
Have you thrown one of the IHV's profilers at your code? Should give you some concrete evidence to back up your report... I got a specific mention about my use of NVPerfHUD in my dissertation - the professor thought it was pretty smart [cool]

Probably no time to implement it, but you could make a passing mention to compression schemes. If you're heavy on I/O and light on ALU then you can pack up the data and use some of that spare ALU to decode it on the fly. I examined a few of these systems for TBN coordinate frames.


Keep up the good work - I want to see a demo/video at the end of all this [wink]

Jack

Share this comment


Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now