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.