News
|
|
|
|
|
|
Broken bunnies |
|
By Mr Goodbyte at June 24 2007 15:25:43+02:00 |
|
I recognize that I have neglected to update this site for quite some time, however at times too few things have happened for a real entry, and at other times I have been occupied by more pressing tasks. Well anyhow during last autumn I wrote my computer science thesis. The title is "Ray Coherence Measures for Real-Time Ray-Tracing", and I plan to release it here later.
I have also left the glory days as student behind me and instead I have passed on to the grandeour working age. My ray-tracing interest has not diminished and to celebrate this I give you some broken bunnies. They are supposed to be one reflective and one refractive bunny, but there is possibly something wrong...
|
|
|
|
|
|
|
The children, why is no one thinking of the children |
|
By Mr Goodbyte at July 29 2006 12:45:49+02:00 |
|
Alright, I think I've fixed the problems with Internet Explorer now, it
turned out to be a combination of responding with a application+xml type and
IE's incapability of parsing script tags. Sorry for messing up the RSS feed,
but I don't have access to the mime database on the web server.
I'm currently enjoying the Swedish summer, I have an intention to get down
to same running times as before I left for Australia... it seems so unreal,
I get flashback's every now and then and at the same time I have these weird
"I've been here before" feelings whenever I visit places in my vicinity
(It can also be a spillover effect from reading Stephen King's "The Tower"
novels, mixed with George R. R. Martin's "A Song of Ice and Fire".)
|
|
|
|
|
|
|
You are old, you are free, we have have mountains that will kick thee |
|
By Mr Goodbyte at July 15 2006 11:52:27+02:00 |
|
I'm now back in Sweden again, sometimes it is scary how easy you fall back
into old patterns. I have only been home for some days and my time in Australia
already feels distant. I have continued my 3d research (will probably end up
write a Master's thesis about it), and during th last week I've been trying to
render the Yamaha model from Burans Arts.
I just noted that Internet Explorer is unable to render my homepage since it
has erroneous behavior regarding xml/xhtml documents. A fix is on it's way but
in the meantime please use a standards compliant browser such as Mozilla,
Firefox, Opera or Safari.
|
|
|
|
|
|
|
The monarch is dead, long live monarchy |
|
By Mr Goodbyte at June 12 2006 23:50:52+10:00 |
|
Just a quick note before I go to bed (I have an exam tomorrow morning).
Today I celebrated the Queens Birthday, which is a public holiday here in
Australia. I find it kind of fascinating that here they celebrate a monarch
that lives on the other side of the globe, while last week was first time the
Swedish national day was a public holiday.
It wasn't much of a celebration here either, the only reason I noted it was
that the post office was closed so I couldn't mail the contract for my next
apartment back oversees.
|
|
|
|
|
|
|
Too much to do to update this page |
|
By Mr Goodbyte at May 31 2006 19:45:34+10:00 |
|
I deserve a bad spanking for not updating this page as much as I should. I
have made some technical fixes now that should improve the rss data and
compatibility with Safari. I'm almost at the end of my semester here, I have some
pictures from Sydney and Fiji that are pending in my upload queue, I'll try fix
that soon...
I had intentions to see Coldplay during their visit to Brisbane, but the
only seats I found were almost behind the stage so I had to cancel that idea.
Not much to report otherwise (or rather too much to be able to make a decent
summary), there is a half-marathon in the vicinity at the end of June, I'm
considering to participate, but I have not had any regular training for some
while now so I don't know, there would not be a chance to beat my previous
result from broloppet...
|
|
|
|
|
|
|
Back from Byron Bay |
|
By Mr Goodbyte at February 26 2006 17:20:29+10:00 |
|
I have safely returned from Byron Bay, had a wonderful time surfing,
sea-kayaking and just wandering around. I'll try to put up some images soon.
Have also finally got the renderer working again (just in time as school starts
again tomorrow), just direct lighting for now but the whole rendering process
is now completely deterministic, just check the anti-aliasing!
|
|
|
|
|
|
|
Small layout update |
|
By Mr Goodbyte at February 21 2006 16:04:49+10:00 |
|
There has been some layout changes during the last days. Hopefully the site
is easier to read now. The RSS/RDF feed should be working now (tested with
Firefox 1.5.0 and Thunderbird), i do get some validation errors but they will have to be for now.
Going off to Byron Bay tomorrow so there won't be any updates for the next following days (not that there usually is more than one update per week).
Update, the rss feed is now valid. ![Validate my RSS feed [Valid RSS]](images/valid-rss.png)
|
|
|
|
|
|
|
Starting to settle in |
|
By Mr Goodbyte at February 10 2006 08:09:13+10:00 |
|
I have now been in Australia for more than one day and am starting to get a feeling for my environment. First of all I hate the parrots that start squeaking outside my window at five in the morning. There is no chance at all that I will suffer any jet-lag, I'll be to tired for that.
I live in a post-grad flat on campus, so I have my own bedroom but share toilet and kitchen with four others. First day I received a long speech about how we should to be considerate to each other and keep the voice down after ten, but I don't understand how anything can be heard over those parrots. I think I'll get some earplugs today.
As probably can be seen I have redesigned the site, featuring some new dark-blue graphics. The picture page will receive some more features shortly, I don't have internet access on my room yet (the "switchboard" was not configured yet) so I'm waiting for the library to open, and with some luck I'll be able to get wireless access here on campus.
|
|
|
|
|
|
|
Going down under |
|
By Mr Goodbyte at February 08 2006 08:03:14+06:00 |
|
There has not been much update lately, I regret that. After my last post it was pointed out to me that the glass sphere looked cut-out, probably due to normal interpolation errors in combination with an incorrect Fresnel term calculation. At the same time I found some nice ideas in the pbrt source and started a major update. This update should soon be complete and I will then post an update.
The second thing that has stopped me from updating the site is that I'm an incoming exchange student at Griffith University first semester 2006 and that has taken quite lot of preparations. I'm now sitting in Kuala Lumpur waiting for my plane to Brisbane, not knowing whether it's morning or evening.
|
|
|
|
|
|
|
More updates |
|
By Mr Goodbyte at November 15 2005 00:31:23+01:00 |
|
I have improved the accuracy of the renderer and implemented participating
media, mostly according to Henrik Wann Jensen et. al. in "Efficient Simulation
of Light Transport in Scenes with Participating Media using Photon Maps" and
the section in "Visual Simulation of Smoke" by Ronald Fedkiw et. al.
I believe that all simulations are physically correct, the only errors in
the Cornell box image I have spotted comes from the irradiance cache and the
geometry has some glitches in the smoke image. So far I am only simulating
homogeneous isotropic smoke, but it has been a rough path during development in
selecting appropriate parameters. I would like to enhance the volume caustic but
it seems to be very hard to do correctly.
The smoke image is rendered with an forward- raymarching algorithm with
fixed step size. I have also implemented an adaptive version, but it will miss
parts of the light cone, however the render time will only be one tenth.
|
|
|
|
|
|
|
Exam programming |
|
By Mr Goodbyte at October 19 2005 13:02:24+02:00 |
|
I'm preparing for my exams tomorrow and on Friday (Algorithm Theory and
Mobile Graphics), and as relaxation I have updated my ray tracer. I decided to
improve the image quality and below you can see my latest version of the Cornell
box. I have made it possible to store the values in the irradiance cache to
disk, and by making a second pass with the same cache, image quality is improved
(the reason is that during the first pass new samples will be made when error
is too large, however during the second pass it is possible to interpolate
between the original and new sample instead).
I have also participated in yet another competition, this time in "graphics
hardware construction" for mobile graphics. The competition was won by me and
my co-worker Andree Frank for reducing memory bandwidth from 150MB to 17.1MB
on a quake3 test scene!
|
|
|
|
|
|
|
Mid-term update |
|
By Mr Goodbyte at September 18 2005 10:52:36+02:00 |
|
Fixed a bug in the renderer that made it impossible to render
high-tessellation meshes. Also fixed my ply importer so now I can render the
images from The
Stanford 3D Scanning Repository, below is an image of "Happy Buddha" with
~1million triangles. Compilation of a bsp tree takes ~7 minutes on my
debug build, and then an additional ~30min rendering and that is without
any global illumination so there is work to do (I estimate the whole process to
take ~15min in a release build). Anyhow enjoy!
|
|
|
|
|
|
|
Never enough time |
|
By Mr Goodbyte at August 28 2005 00:00:00+02:00 |
|
I thought I would have some extra time to work on the renderer this weak,
but I got absorbed by another interesting problem concerning
AJAX, resulting in less work on the renderer. Anyhow here is my latest
screen shot featuring better anti aliasing than before, partly implemented a
texture subsystem and caustics through photon mapping. This is work in
progress, and I am aware of some physical incorrect calculations that are
affecting the output, they will be corrected in a short while.
|
|
|
|
|
|
|
Progress |
|
By Mr Goodbyte at August 11 2005 15:18:23+02:00 |
|
Some new updates, I finally got irradiance
caching
and gradient
calculation working again. It turned out that I had problems with scenes
that not were closed and thus got samples that should be considered to be
infinite far away. A better version of the Cornell box can be seen
here . There are still some features missing
(like anti aliasing) and one should probably make a second pass to improve
the irradiance renderings (f.i. the vertical bands that can be seen at the top
of the image will probably disappear). I am only working with debug builds of
my system so I do not have time to wait for an image with lower error threshold
(it keeps me away from coding).
Next step is a reader for .hdr image files so I can add light probes to my renderings.
|
|
|
|
|
|
|
New render system (again) |
|
By Mr Goodbyte at August 04 2005 12:02:17+02:00 |
|
I haven't been updating this site as much as I should have. However I've
been busy working on various projects during the summer. First a computer
opponent for playing checkers (part of a programming assignment for
applied artificial intelligence),
which won the course championships
(TAI championships,
check out eDAMer's place).
There were several other interesting assignments during the course that
consumed my whole spring. Now I'm back on my rendering track again and have been
working on a new rendering system during my summer break. I intend to include
several new pieces of knowledge that I have acquired during the year, and
above all make a more user-friendly interface (currently I'm using a subset
of Renderman Interface
Bytestream (RIB) as scene description language and the renderer is
separated from the graphical interface through a socket layer).
Multi spectral rendering is put on ice (it was hard to produce images that
looked correct, mostly due to the non-linear conversations used when converting
spectral data to rgb or vice versa). I have not yet included all functionality
from the renderer I used when I won the rendering competition, but I'm
approaching it as can be seen from this
image. I believe the final gathering samples are incorrect (not cosine
distributed) but I intend to replace the irradiance cache by a radiance cache
anyhow)
|
|
|
|
|
|
|
More spectrum renderings |
|
By Mr Goodbyte at November 04 2004 01:34:21+01:00 |
|
I've been working more on my spectral renderer and there is a slow progress.
I now use little cms for conversions
between XYZ and RGB. This makes it possible to load icm profiles for color
conversions, though I don't attach the cie profiles to my output images
yet. This modifies the spectrum slightly which can be seen here:

I've also experimented with black body radiation. Following is a
(non-linear intensity scaled) radiation curve from 0 to 16000K.

My latest sub-project is conversion from XYZ colors to a (continuous)
spectrum. It is quite easy to find the sub-space with metamers (spectras that
produce same color) but they may behave erratically when used as reflectance.
Following is a test where I reproduce the xyY chromaticy diagram by converting
the color to spectra and then back to XYZ and RGB. I think it is my tone mapper
that distorts the image from returning the usual cie image, also lcms will
gammut-map imaginary colors into the rgb gammut.
The behavior when used as reflectance specifier is yet to be determined, but
the spectras look smooth in matlab.

|
|
|
|
|
|
|
Spectrum rendering |
|
By Mr Goodbyte at August 28 2004 11:49:21+02:00 |
|
I've been rewriting my renderer from scratch during the summer, mostly to
improve my c++ understanding by implementing expression templates in my matrix
library. I've also decided to make my renderings more realistic by simulating
full spectras (not just rgb channels). My first test picture can be seen below,
I use the following function: s(x, y) = y * diarc(300 * x + 400) to create a
uniform varying spectrum, convert it to XYZ through the tristimulus functions,
and convert it to rgb values. The result can be seen
here.
|
|
|
|
|
|
|
Advanced Shading and Rendering competition |
|
By Mr Goodbyte at May 19 2004 15:48:21+02:00 |
|
Today the first rendering competition in one of the courses I attend (eda101 -
Advanced Shading and Rendering) was concluded. The winning contribution is shown
below, rendered by me :). Some technical info: the core is a distributed ray
tracer with photon mapping, some ideas are borrowed from Keller and Wald's
Efficient Importance Sampling Techniques for the Photon Map, but no importons
are used (yet). Ward's irradiance cache with gradient calculation speed up the
final gathering and I use some of Per H. Christensen's Photon Mapping Tricks
for even faster rendering. The BMW Z4 model was modeled by Pa_FurijaZ and
downloaded from www.blenderman.org (update: the site has ceased to exist).
I wrote a blender export-script and load the model as a bsp-tree into my
renderer.
I have some initial testing with multiple scattering participating media,
but the result has low quality and is very slow, so I'll have to make some
adjustments before it can be used.
|
|
|
|
|
|
|
Raytracer2 |
|
By Mr Goodbyte at March 29 2004 23:41:46+01:00 |
|
Some updates on the raytracer, I've implemented area light-sources gloss
surfaces (and translucency which is not seen in the image below). I've
coded a kd-tree and will upgrade it to a photon-map soon. I started out with
Henrik Jensen's photonmap structure but made some changes to the balancing
algorithm -- hopefully it will be faster but that has to be verified.

|
|
|
|
|
|
|
Raytracer |
|
By Mr Goodbyte at March 19 2004 17:52:31+01:00 |
|
I'm attending a course in advanced shading and rendering, and as a
preparation I've started writing on a raytracer engine. Below is a simple test
shot, nothing fancy just phong with reflections/refractions, fresnel,
and Beer's law and focal blur. We'll see what happens next!

|
|
|
|
|
|
|
Small updates |
|
By Mr Goodbyte at February 22 2004 18:28:03+01:00 |
|
I've made some updates to both terrain and fluid calculations. The terrain
is now rendered with a detail texture (yes, I know I'm not the worlds greatest
artist...) and one can see some artifacts which I think is due to lack of
mip-mapping. Anyhow I'll update some parts in the state tree before I fix
them.

I've also included an image from my fluid solver. It has been enlarged
from 64x64 to 150x150 which is why it's all blurred. In this setup I model
smoke rising (due to temperature difference and buoyancy). I'll probably post a
sequence of images within some days.

|
|
|
|
|
|
|
Some updates |
|
By Mr Goodbyte at January 12 2004 11:32:13+01:00 |
|
I've added a skybox to the engine and fixed the font problem on my nVidia
card (though, that is not shown in the screen shot). I've also rewritten the
landscape tessellation code to use diamond-trees inside the quad-tree nodes,
all that is needed now is a better landscape format and it will be possible to
add detail where it is needed.
I've also made some experiments with fluid simulations by solving
Navier-Stokes equations. I've implemented some different solvers for Poisson
equations, the best so far that works is a SSOR preconditioned conjugate
gradient solver, but I'm working on a multi-grid solver (some boundary problems
left). I'll put up some screen shots when it works.

|
|
|
|
|
|
|
I have 25 hours/day |
|
By Mr Goodbyte at August 24 2003 20:46:31+02:00 |
|
Well, I've managed to squeeze in some engine-programming-time... I have
implemented a very basic state tree (just one level -- with vertex buffers :).
And then I reworked the material implementation. Will be interesting to see
if/how this new system scale well.
I also have a new screen shot, featuring the new materials. The terrain is
somewhat "blocky" nearby, it's due to 8-bitness and conversions before loading
data into the quad-tree. We will need to implement a better memory layout for
landscape data anyhow (at the moment it is just an array in memory, we should
take advantage of the quad-tree structure and load data from disk at
demand.)

|
|
|
|
|
|
|
End of summer holiday |
|
By Mr Goodbyte at August 14 2003 14:49:07+02:00 |
|
Almost end of this holiday also. I've been working all summer, but managed to
insert some programming sessions. (Except for the course in functional
programming which I'm attending). No interesting visual news in the engine but
some technical: first Ajn has updated the script system to
Lua 5.0, and I've added support for OpenGL
extensions. The landscape is now rendered with GL_ARB_vertex_buffer_object,
quite some speedup compared to regular vertex arrays. (I also cache vertex data
between the frames.) I written a basic hash-map (the one included in gcc's std
library does not seem to work). Next I'll do something about materials and
gl-state changes (that's where I need the hash-map).
I've been appointed to take care of the introductory course in *NIX at
LTH where I study. I have two assignments
left (if my latest entry pass) in functional programming and tomorrow
Malmöfestivalen starts, so it may be some time before I make another addition
here.
|
|
|
|
|
|
|
Another week passed |
|
By Mr Goodbyte at May 09 2003 11:17:32+02:00 |
|
Easter is really over now, and it's back to school. I'll try to suppress my
urge to work on the engine for some weeks now, until I've done my summer-exams.
Though I've updated the error metric in the landscape. It is not perfect, but
definitely better than before. Next thing will (as said before) be splatting,
I've already thought a lot about it, and how to tessellate the terrain, and come
up with some interesting ideas.
I also have to reserve time each week for exercising,
I'll run a half-marathon, 'Broloppet',
on 8th of June and must not neglect my training too much. In reality all you
need is a strong will, but I want to reach the finish line with some pride
left...
|
|
|
|
|
|
|
Game update |
|
By Mr Goodbyte at May 03 2003 23:45:21+02:00 |
|
Alright, I've rewritten the terrain tessellation so it uses a two-pass
algorithm and makes smooth transitions between different lod levels to avoid the
t-cracks. I've also updated the height-map-quad-tree so it use a base of 1025
instead of 1024 and loads image files instead of raw data files. This remove
the special case when a chunk has side 32 instead of 33 (at the south and east
borders). I'll wait updating the images until I have some more textures on the
terrain. (Everyone in the Malmö/Lund area must come to UFO tomorrow and listen
to my friend Peter and his band
Lorain. They totally
rock!)
|
|
|
|
|
|
|
Game engine |
|
By Mr Goodbyte at April 29 2003 23:06:12+01:00 |
I said should get some landscapes rendering before this holiday was over, and
I did. This is by no means finished code, I've got the culling working along
with normal calculations and texturing. There are some artifacts due to a very
simple lod algorithm (just check the distance from the near plane), and I
have not implemented T-junction fixes along the borderlines yet. I think I'm
going to base the texturing on
splatting, but
first I'll improve the lod-quality/performance. The blue square is our
lua-based console, but there are problems
with the fonts when rendering with nVidia drivers (work flawless in Mesa).
|
|
|
|
|
|
|
Easter! |
|
By Mr Goodbyte at April 21 2003 10:56:12+01:00 |
|
I've had an active holiday so far, last weekend I visited a friend of mine in
Stockholm, I've been on a LAN, and checked out Starshine in Ystad. There has
also been some time for programming and the terrain rendering is coming along
quite well.
I also updated my drivers to nVidia's latest for XFree86 (why do they execute
code on the stack?) which introduced a bug in the font-rendering subsystem. I'm
clueless on what it can be, but it gave me an opportunity to update error
handling in the 2d/3d subsystem to use exceptions.
Next thing to be done is to calculate some normals for the terrain and then
cull invisible parts of the oct-tree. But we'll see if I manage to get it done
before school starts again, I now have to concentrate on a test in calculus
(I want to raise my grade), and then there are some reports I need to write.
|
|
|
|
|
|
|
I'm back... |
|
By Mr Goodbyte at April 03 2003 08:06:21+01:00 |
|
Ieeehaa... now that was a good weekend. I'm back now without too many bruises
(we played paint ball...). I think I'll put up some screen shots on the engine,
but I want the landscape rendering fixed first (since everybody likes to show
fancy landscapes, why shouldn't I?). Mr Nordh (my co-worker, and it feels
'wrong' to refer to him by his first name, Jerker) is working on a gui, and
will probably write the physics engine once he is done.
|
|
|
|
|
|
|
Serious partying |
|
By Mr Goodbyte at March 27 2003 23:50:42+01:00 |
|
I'll be going north wards this weekend, more specific to Linköping to do some
serious drinking (must reverse my daily exercise on the gym). It will rock!
|
|
|
|
|
|
|
3d engine |
|
By Mr Goodbyte at March 27 2003 23:48:13+01:00 |
|
I know I haven't been updating the page lately, there has just been more to do
in school, and I and friend of mine have been working on a 3d game/engine,
which has occupied the rest of my spare time. Nothing fancy yet, can
load md2 objects, sdl/opengl, lua scripting, ... but it will be the best game
ever :)
|
|
|
|
|
|
|
Vim vs. Emacs |
|
By Mr Goodbyte at December 08 2002 20:02:21+01:00 |
|
I have a confession to make: I'm no longer a vim fanatic. Since I'm forced to
use emacs in school (their vim is somewhat rough) I've been somewhat tempted to
compile emacs. Last week I did it. After memorizing my ~200 most frequent vim
commands emacs counterparts I started to like the big thing (a text editor
should not take 20MB...). I still press insert a lot in emacs but I'll get
there :)
|
|
|
|
|
|
|
Writing music |
|
By Mr Goodbyte at December 08 2002 19:54:33+01:00 |
|
I've just begun studying for next test in mathematics, so I'll have to write
some things down before I replace them with important algorithms. Ever since I
was enlightened about the power of LaTeX, I've been looking for a note package
for my TeX environment. My investigations led me to
Lilypond. Lilypond have great
knowledge about how to typeset music and can f.i. complain when you do not
completely fill up measures. If only
Rosegarden4 could release a kde-3.1 version and my happiness would be
complete! Now back to math.
|
|
|
|
|
|
|
Lost song |
|
By Mr Goodbyte at November 05 2002 19:36:46+01:00 |
|
Whoow, I was listening through my cd collection and accidentally found an extra
track on the X-Files cd for those of you who have it. By searching the net I
found that it is Time Jesum Transeuntum Et Non Riverentum (Dread the Passage of
Jesus, For He Will Not Return),
see here.
Way cool!
|
|
|
|
|
|
|
Gcc-3.2 pthreads and grsecurity |
|
By Mr Goodbyte at October 28 2002 08:36:32+01:00 |
|
I've found out what the problem with grsecurity and gcc-3.2 is (with a little
bit of help from the PaX team). Don't know if they will change this in the next
release of grsecurity, it's not a bug but an incompatibility. I'll release a
patch on my linuxpage shortly.
|
|
|
|
|
|
|
Blender |
|
By Mr Goodbyte at October 28 2002 08:28:45+01:00 |
|
Ha, blender has been open source for a while now.
I've compiled it and it's awesome, can't believe I've never used it before.
If anyone wish to compile it by themselves, I recommend the
autoconfigure patch (update: the source package at is fixed). I was a little anxious to get it running, so the
patch wasn't released by the time I worked myself through the source. It should
make things a whole lot easier. :-p
|
|
|
|
|
|
|
Problem with old versions of Netscape |
|
By Mr Goodbyte at October 09 2002 15:35:55+02:00 |
|
I know there are some problems rendering this page in Netscape 4, this is an issue with Netscape 4 not
following the new xhtml 1.0 and css 2 standards. I don't know if I want to fix this, since this page is a testing page for
me to see what can be done with xml, xsl, xhtml and css.
This page obeys all rules specified by w3c
and adding support for browsers not confirming to these standards would ruin the purpose of the new standards.
You can allways view these pages in lynx though :)
|
|
|
|
|
|
|
Old page still on the net |
|
By Mr Goodbyte at October 09 2002 15:28:58+02:00 |
|
I've found my old page. Since it's quite nice graphically, and contain some of my previous programs,
I've decided to add a link to it: home.swipnet.se/goodbyte/. Bear in
mind that it was last updated two years ago. I've been doing things since then too... but I'll take some time before
I've managed to get it all organized. |
|
|
|
|
|
|
Inital announcement |
|
By Mr Goodbyte at October 06 2002 22:10:36+02:00 |
|
Announcement of the reopening of Mr Goodbyte's homepage. It's not much... yet... but it's a place to start.
This time the focus has been on a clean design (and as always usability in lynx). The inital plan at the moment
(except taking over the world) is to create the starting skeleton for all areas from my previous homepage (which was
removed from the net about 2 years ago). This will be done in the following four or five days. |
|