Jump to content

  • Log In with Google      Sign In   
  • Create Account

Out Of The Ashes

slow days...

Posted by , 14 June 2014 - - - - - - · 482 views
splatting
slow days... I Haven't had as near as much time as I thought I would, which is not even close to the amount of time I wish I had, but I have got a few small victories here and there. My animation editor is coming along nice, the bones are working peachy, though I've yet to add a mesh to the skeleton. The interface is also quite clunky atm, and I was really getting tired of playing around with it for the time being.

So I stopped, and moved on to another project, adding texture splatting to my terrain editor(4 textures, 1 splat map) and am quite happy with the results so far.

I keep making these tools to help learn new techniques. Nudging and tweaking my framework making it a little cleaner and more productive each time. The big issue I have with this is that I've yet to toss everything into a single .exe and see what comes out of it. One day, hopefully sooner than later we shall see.

In the mean time, does anyone have any good book recommendations/links on tool/app development?


little steps

Posted by , 24 May 2014 - - - - - - · 621 views

little steps Busy as a jazz solo again this week. But as of yesterday, I am officially finished the academic year, and can spend a bit more time working on personal projects. I worked in small spurts on lots of things, optimizing some math functions, cleaning up some source files, a bit of win32 ui work, etc. Nothing major to report, but I remembered a picture this time.


Quaternions and not much else

Posted by , 20 May 2014 - - - - - - · 561 views

Well, it was a slow week. Actually a frantic one, without a lot of free time to work with. Coupled with a camping trip to the beautiful Jasper National Park, I didn't get much of anything accomplished. Which is fine, because I think Gaiiden is missing this journal on purpose (Posted Image)

I worked a bit on getting skinned animations up and running, and since I only got part way before the crash of '14, it is still quite a new topic for me. So far it's just a quaint viewer, but I have the bone orientations showing up from my DIY skeleton/animation format. Before I was able to get to the hierarchy in motion, I had to beef up my math library a bit, adding missing functions for quat->matrix conversions and viceversa, which went alright.

Next up was Euler, or should I say, Tait-Bryan angles. I had never heard the second term used before, but after some browsing through wikipedia, and trying to find out where the code I was working from went astray, I was set straight. For the curious, and uninformed like me, Tait-Bryan angles are the traditional yaw,pitch,and roll rotations typically referred to as Euler angles. According to wiki, Euler angles actually rotate around the same axis twice, once as a first rotation, and again as the third. Coupled with the difference between intrinsic(relative to the local space) and extrinsic(relative to a fixed system) there are a lot of options with which one be confused between. Such was my dilemma, as the neat code snippet I had found was not working with Tait-Byran angles at all, which I now understood, but was using x-z-x intrinsic Euler angles. So after some fussing around with +/- operators and straining my eyes at all the possible permutations of c s y p r, I finally had the one I was looking for. And now I have all the needed functionality to move one.

Looking ahead, I will likely continue on the path of animation in the next week, or perhaps finally get dirty with some sse/sse2 optimizations, which would be another first. Then again, seeing all that beautiful scenery got me thinking about terrain again, so there's that too.. lots to do so, until next time.

[EDIT] : I gave Gaiiden a hard time, but some of the blame rests on me. I guess it would help if I PUBLISH the journal, rather than just save as a draft. WHOOPs!


Stressed to the point of...

Posted by , 20 May 2014 - - - - - - · 555 views

Stressed to the point of... It's been a slow slog this week. I'm currently landscaping the back yard in preparation for Mother's day, which is when the wife traditionally starts her garden. Bricklaying is hard work, but it's nice using the mathematical means I have acquired through game dev to ensure my bricks run straight and true(for the most part). As a result, I've not had alot of time for programming, and am quickly approaching the deadline laid down by the woman in charge. She is stressed, and that is not good for anyone.

Now, myself, I tend to handle stress alright. Pile it on, and it may get under my skin, but I manage. My significant other on the other hand, does not fare so well. I don't want to say anything that would upset her, so I'll stop there.

I bring this up because I think It's important to recognize stress, and deal with it in a healthy way. I was quite stressed out while working with MRT's in DX9 for the first time this past week. No matter what I tried, I couldn't get anything drawn on my main view window, and I was at my wits end. I decided to take a break, and after a 2 day hiatus, I realized that the RT layouts were not bound in the same registers that the pixel shader was expecting. With that out of the way, and a bit of mixin' code to draw the light sources, I ended up with this, and am excited to see how far I will go until I need to break away again.

In the mean time, back to the bricks....

Attached Thumbnails

  • Attached Image



Perlin Noise, more updates.

Posted by , 26 April 2014 - - - - - - · 715 views

Perlin Noise, more updates. I spent quite a bit of time this past week with GD user Cozzie, who was having issues understanding the logic behind OBB plane collisions. It's always a great sense of accomplishment when I can help others to understand something that seems a mystery to them. In the real world I'm a tradesperson, and have been teaching apprentices at a post secondary institute for the past 6 years. In retrospect, trading a higher paying job in the field for more time for myself and family was one of the best decisions I ever made, because I get to experience this fervor on a regular basis. I think my instructor at the time, and my coworker now, could see that spark in me. I'm sure he knew that I would both enjoy a career in teaching, and also excel at it, that fateful night when I received an offer to interview for the position via email.

Some days are better than others, however. The same can be said about certain classes, and even individual students. On occasion I have students who have experienced much more of the trade than I have, be it from the choice of employer, or time in the trade, and I can get caught up with feelings of inadequacy. I'm sure many of the GD members can relate, seeing other peoples projects advance quickly, perhaps being greenlight on steam( Congrats again Riuthamus), while we toil through our own work in what seems like a exercise in futility.

That being said, we'll never catch up if we don't try, amirite? So after helping Cozzie, I brushed the dust of my math lib, and deduced that It still has some work to be done, both to regain some the functionality lost in the crash, as well as add some more functionality that I previously neglected. (I also have some functions that would be much more useful if they were implemented in a different way.)

One of these neglected functions was Perlin noise. I had implemented 1d noise before just to understand the theory, but more useful to me currently are the 2d and 3d varieties. Removing the free function noise(x), and moving to a class based implementation went swimmingly, though I may revert back to free functions at some point in time. It's always a decision I struggle with, and anytime I decide one way or the other, I'm again left wondering if my choice was the correct one... oh well, here are the results.

Attached Thumbnails

  • Attached Image



Slighty Behind Schedule

Posted by , 20 April 2014 - - - - - - · 731 views

Slighty Behind Schedule I keep telling myself that this will be a weekly journal, but of course I am slightly behind schedule. and it seems more and more this is the position i find myself in when it comes to programming. So much to do and so little time.

I have made quite a bit of progress on things, but am working on many projects at once, so each is well, slightly behind schedule. I know I should stop and focus on just one, but variety is the spice of life, and it's doing wonders for my code base, poking holes and exposing weaknesses. It's also doing a lot for my own coding habits, as bouncing from project to project makes it hard to remember what i'm doing. So all my new work is getting nicely documented as I go, and I'm getting quite proficient at rereading my own old code and sussing it out quickly.

That being said, I am still not great at understanding others code. Take for example what I have been working with lately. One of the features of the project in the Image is determining draft based on displacement and hull form. The hull is a triangle mesh, and I can assign a displacement, though eventually this will be calculated from a structural drawing. I take the displacement, and starting with the entire hull, calculate the volume of the mesh(closed, but not necessarily convex) and then the mass of seawater that volume would hold(1.035g/cm3 for the curious). this is checked against the given displacement. if it is more than the displacement we step out, cut dy in half, and try again. if it is less, then it and the dy are accumulated until we are within either the draft tolerance or the displacement tolerance. It is working quite well ,as the text in the pictures show. The shader is not getting fed the correct draft to shade with, hence the cube doesn't look like it should. I'm going to fix that soon I'm just slightly behind schedule in regards to that.

The code for clipping against the plane was based on this paper by Dave Eberly. Reading though it now, the capping of clipped meshes appears to be incorrect, as the plane normal would be opposite of the normal of the close face if the mesh is in the positive space of the plane. after flipping a couple of -/+signs around, and rewriting it to use std::vector and my math library, I have it working but it *reads* wrong to me. for instance, the plane convention of ax+by+cz+d doesn't work because the plane is backwards from what was written in the article. I'm sure with enough coffee and scratch paper i could figure it out, but I'm slightly behind schedule as it is...


PS: if anyone cares to read that paper and tell me what is going on with the plane and close face feel free to reply or PM me

Attached Thumbnails

  • Attached Image



Looking forward

Posted by , 07 April 2014 - - - - - - · 635 views

Looking forward Well, I have made back most of what i have lost, although I'm not 100% sure I like what I have, it is working for the most part. I started working on a deferred rendering demo, but since I had never used textures as render targets, I have a bit of infrastructure to build up. Juggling resources between 2 levels(soon to be 3) of direct x, as well as OGL, is a huge pita. If anyone has tips feel free to comment.

I've also been working on a test level in blender, that will be a larger platform to display the techniques I've been working on, Including shadow maps, mirrors, deferred shading, as well as test physics interaction. I should have more on this in the coming weeks.

Over the weekend I spent quite a bit of time converting a project previously using GDI to use my framework, and while It fails in someways to my previous version(which was lost in the memory stick incident) I'm optimistic about some new ideas I had for it. One thing that currently has me buggered is wireframe drawing. I've cleared the depth after drawing the mesh solid, because I was having Z fighting with some of the lines, but I think I need to adjust depth bias instead, as clearing the buffer results in pixels that should be occluded being drawn(front facing sections of concave areas of the hull)

Attached Thumbnails

  • Attached Image



Happy Friday

Posted by , 21 March 2014 - - - - - - · 766 views

Well, still working away at the rebuild. And speaking of rebuilds, my poor truck gave up the ghost. A faulty seal caused my transmission to bleed dry, albeit with little indication of a problem until it was too late. 3800$ later and I have a rebuilt transmission and new clutch and the beast is back on the roads.

The hit on the finances is doubly strong, as I still haven't been paid for some extra work I did 5 weeks ago, and only learned today that my employer has restructured the special payment system, so I have to reapply to get paid, which will likely take another 2-4 weeks.

"Be patient, you'll get your money!" I was told. I wonder how many of our suppliers allow net 63 payment terms. I guess they can find someone else to spend 8 weeks of their life in a hotel next time.

Currently working on multiple swapchains. I had everything working the way I wanted to before, what am I doing wrong this time? windows not clearing to proper colors, present not failing but not drawing, blah! piss on it for now.

Just to keep form, I'll include a picture of something that is working again, my normal mapping demo.

Attached Thumbnails

  • Attached Image



Monday blues

Posted by , 03 March 2014 - - - - - - · 639 views
c++, win32, beginner, directx
Monday blues It's definitely a Monday. I'm tired, and there is not enough coffee in the world to fix that...

I spent most of the weekend reimplementing functionality that I had had working previously before my lapse in judgementcost me 6 months of work. It seems odd to me now how reliant we are on digital suitcases that can carry much more then a typical jumbo jet. And how much the lose of this intangible stuff leaves it's scar on our consciousness much the same as if I had had a loved on on the aforementioned jet.

Yet all is not unwell. What took me about 2 months previously ( Fixing old tests that had been broken by more recent updates to my code base) has only taken the span of a week. 8:1 time compression, how's that for efficiency? It points in favor of reiteration, which is a good lesson for everyone.

We should take a cue from nature. Nature doesn't strive for one perfect organism. It works towards multitudes, and so should we. We should not try to write perfect code, but lots of code. A plethora of programs, all refining their predecessor's DNA becoming more streamlined for the task at hand.

With that in mind, here is a screen of one of the first 3d programs I had ever made, and the first to be resurrected from the past.


and again...

Posted by , 25 February 2014 - - - - - - · 604 views

Well after a massive oversight by me, and a short lived usb stick by ____________, It seems I've lost my previous 6 months work or so. I should be quite devastated, but in reality most of that time was spent mucking around and not getting too much work done. The downside of course is that any improvements I have made are lost, and i am stuck trying to remake them with a code base that is somewhat unfamiliar to me.

Back to the drawing board....






December 2016 »

S M T W T F S
    12 3
45678910
11121314151617
18192021222324
25262728293031

Recent Entries

Recent Comments