It finally occurred to me that the transformation from Generic cylinder along the y axis can use the vector converted from Cartesian to polar coordinates. The polar coordinate angles are then rotations along the z, and y axis to transform. Next up text.
Well, I’ve spent nearly all morning trying to get a new primitive into the ray tracer for displaying a vector. I assumed it would be easy, but trying to get a rotation from the standard generic vertical cylinder to an arbitrary vector, using the instance class’s rotate_() methods, is difficult. It seems every time I think I fix it a new problem arises. This is why I dislike 3D rotations, they’re just so confusing.
It’s always the things that you assume will be easy that end up taking the most amount of time… Still hasn’t worked but I can’t play with it anymore today because I have to head to my day job.
Well this time it’s been more than a year since the last time I updated this site. I never did post the creative writing project I was working on, although I did get it working nicely, I just hit a bit of writers block. I tested the features of it that I wanted with random phrases and words, but wasn’t able to write enough content to justify posting anything.
Meanwhile, my ray tracer project has all features I initially planned. That is, it has all the code that the books website had plus anything that that code excluded as an exercise. The current master branch on github has all the features that the book discusses. The project’s Wiki has a page of thumbnail images it has rendered of all the build functions from the books website.
Note: This image should be linked directly to the github version of it, so it should be updated as I change things, Unfortunately the 6000×4000 size does not work well with wordpress, or most people’s screen size. To view the full images, because of the way github handles binary files, your browser will probably ask you to open or save the file, instead of simply displaying it. This is due to the way github handles the files, and I apologize for the inconvenience. I will be updating these images soon, as they need to be rendered with more samples. Also I hope to render a globally shaded version as well, but that may not happen soon.
I plan on adding several of the features the book describes in its exercises, as well as several features of my own.
I’m thinking I may post some of what I learned in doing this project here. To facilitate this I am planning to add some other features. I plan on using the project itself to render any figures that I need to help me describe what is happening.
To make that easier, I need a primitive for visualizing a vector, and some way to render text. The vector visualization should be easy, but the text is a different matter entirely, I see a few ways of doing it, but I don’t know which way I should do.
My two options are rendering the text on a texture and drawing a quad with that texture, or actually rendering text as 3D characters in 3D space, the first option is the easiest, the second is probably better in the long run, and I may do both. For now, I need to implement something to get working for my next post here.
Well, it’s been a year and a day since I last posted something here. Hard to believe, really, but although I’ve been doing stuff, it hasn’t been anything worth showing. I’ve started a few projects, put off others, and done several other things. I’ve moved many of my projects from the, now defunct, Google Code to my github account.
I’ve worked on a few projects not on github, but much of my time was spent on the ray tracer that is on github.
I also launched the beginnings of a small browser based game onto this site. It’s very much not finished, it’s a bit slow and jerky, and you can’t win and the AI doesn’t work, but it is working the way it’s intended to as far as the features that are done are concerned.
In the next few days I may launch another sub-domain for a bit more creative writing that I’ve been tinkering with.
Back in November 2013, my father got a call from work on a Saturday. Another companies truck had hit a low bridge and needed a machine brought in to right bulldozer which had rolled. Dad just had to go make sure his co-worker would be able to get to the location and work. I went along for the ride, and took pictures and videos.
Doctor gave me antibiotics and told me not to go to work for a few days, I’m scheduled for tomorrow, and will probably go. I do feel quite a bit better now.
I stopped working on the library application. This was primarily because of boredom, played some games instead. Think I’m going to change gears to a different project for a bit. Perhaps back to one of my game projects, or maybe even start working on that Graph Based Paint Program again. Hopefully a friend of mine will come online, he offered to play Halo 3 the other day, and I said I couldn’t that day, but I do miss that game sometimes so I’d like to play it again.
I feel really sick today, woke up choking on my own swollen throat. Plan to go to the doctor as soon as possible.
The library app, is going slow, trying to find an API that will give cover art of Movies, Books, and Music, but no one database seems to have good coverage of all of them. Thinking I’m going to try using FreeBase, a Google API and service which has just about everything, but it doesn’t have much of the cover art. The OMDB API seemed promising, however it’s only movies, and the poster/DVD case art is hosted elsewhere, which I don’t like, but I may end up using it anyway. For music the best alternative seems to be MusicBrainz, which seems to provide only XML, and I would prefer JSON, though a beta JSON is mentioned. And for Books OpenLibrary seems far the best option. Think that I may go with a hybrid approach. I’m working on a live copy, so you can track progress at library.matrixpeckham.com
So, after a few days of work, I have finally changed the front page of the main site from simply “under construction” to something quite a bit more interesting. Although not done by a long shot, it has an interactive WebGL based background image, which should gracefully fall back on HTML5 canvas rendering in the event WebGL isn’t supported. It’s powered by ThreeJS, and uses noise generation code I found on github. The background allows scrolling and zooming, though the zooming isn’t correct, It does not currently zoom in correctly and fixing it would require some digging, math, and rewriting, which I will do at some point but not right away.
Tomorrow I have the day off from my day job, been meaning to catalog my fairly large collection of books and entertainment media for a very long time, now that I have this site seems like a good reason to re-invent the wheel and create a web-app for that. Think I’ll start designing the Database for that tomorrow. I’m thinking whole hog, multiple users right away, even though it’ll probably only ever be me that uses it. But I’m thinking it’s a bit late and that I should go to sleep soon, but before that perhaps a quick trip to Reddit to see if there’s anything worth reading.
Created this blog on my site, and I think I’m going to try to import the older posts from my last blog.
Made lots of progress on my web project since the last post about it. It is currently available to the public but it is still very infantile. Click here (EDIT: NO LONGER AVAILABLE) to visit it, it has no real domain name.
Edit: This was created before this site was, now available here.