2006 Page 1
2005 Page 1   Page 2
- Sun Nov 12 18:29:12 EST 2006
Building inventor on modern linux distro:
- setenv CVSROOT :pserver:firstname.lastname@example.org:/cvs
- cvs login (password is cvs)
- co inventor
- cd inventor
- setenv IVROOT /
- setenv LD_LIBRARY_PATH /usr/lib
- setenv FREETYPE 1
- Edit "libFL/ang/flfreetype.h" to add at the top:
- Edit "lib/database/src/so/engines/SoCalcParse.y" to change line 122:
additive_expression relational_expression +%type relational_expression
- make LLDLIBS="-lInventor -lInventorXt -liconv" install
Actually, I had to run this several times tailoring it for several directories with unique LLDLIBS variable. If you don't know how to tailer the variable, just edit the GNUmakefile in the directory to add "-liconv" to the LLDLIBS line.
- Sun Nov 5 08:15:19 EST 2006
Installed Kubuntu Edgy Eft 6.10 on new E6400 Core 2 Duo system.
- Core 2 Duo's, at least mine, don't have hyper-threading.
- Figured out on-board video on my ECS P4M800pro-M V2.0 cheap motherboard was making cdrom insanely slow, fixed by installing GeForce 3. Also, it has terrible support for DDR2 and I'm having to my ddr2-800 at 400 (200 MHz) -- PC2-3200. Then Kubuntu install went great.
- Ran system update.
- Installed g++:
sudo apt-get install g++.
- Installed synergy for keyboard and mouse sharing, from source (thanks):and by editing /etc/kde3/X* following instructions on synergy's page.
sudo apt-get install libxtst-dev ./configure -x-includes /usr/include -x-libraries /usr/lib --prefix=/usr make sudo make install
- Set monitor in system settings to Viewsonic PT813.
- Installed automatix2 and uncommented repository lines in /etc/apt/sources.list
- Installed java, thunderbird, and nVidia drivers with automatix2.
- Installed wine, gimp, firefox, imagemagick, etc. with apt-get.
- Installed Open Inventor:
sudo apt-get install sudo apt-get install 'libpng3*' libglu1-mesa-dev 'inventor*'
- Built pane:
- Sun Oct 15 22:38:20 EDT 2006
I'm debugging my Kd-Tree building code. To that end, I've:
- commented out line 33 of page.c
- Added "-DPAGE_PROTECTION_VIOLATED_SIGNAL=SIGBUS" to CFLAGS line in Makefile
- Sun Sep 17 21:54:49 EDT 2006
Installed inventor on new Fedora 4 by following instructions in here (when needed/applicable). Also had to add "class SoTempPath;" to top of SoPath.h.
- Sat Apr 8 06:08:50 EDT 2006
Implemented projection maps for area lights. Diagram above, ascii display of the 2D map below. NOTE: The map in these is artificially hard coded to be tighter than automatic results, but it illustrates the basic idea. For automatic, conservative bounding I'm using a bounding sphere, whose radius is augmented with the radius of the area light source to compensate for the fact that the area light extends through space rather than is only a point. From this page I can deduce that the maximum angular extent from center of the bounding sphere from the point of view of the light is theta = pi/2 - arcsec(dist/radius).| | | | | | | | | | | ******* | *********** | ************* | ************* | ************* | ************* | *********** | ******* | | | | | | | | | | |
- Sun Mar 19 23:59:59 EST 2006
- Sun Mar 19 02:40:34 EST 2006
- In my quest to convert the temperature of voxel into blackbody radiance as realistically as possible, I found an interesting formula in another of Dr. Jensen's papers, "Efficient Simulation of Light Transport in Scenes with Participating Media" with Per H. Christensen (this has some great pics). It's also in his book with less description, but here's the description of the formula from the paper: "the relationship between scattered flux (Phi) and radiance (L) in a participating medium ". The reference is to "Thermal Radiation Heat Transfer". Not having access to this book, I just decided to take their word for it. They have an extra sigma_s in the formula -- I reasoned this was to counteract the fact they had scattered flux, which had been multiplied by sigma_s already, and they want the pre-scattered flux. So I just dropped the sigma_s and used this formula: L = Phi/(dw dV) where Phi/dV is given by Planck's formula (Eq. 22 of Nguyen et al.) and dw is 4*pi: L = (Phi/dV)/(4*pi).
- Previously I was using absorbtion and extinction coefficents derived from the fluid simulation density with a constant scale. I experimented with having a different constant scale inside the hot parts of the flame, but this resulted in either the flame too bright or smoke too weak to be seen. What I needed was a different absorption coefficient for the flame and smoke. To do this, I consider the smoke suspended in the flame media, and give them different coefficients. When calculating the extinction during ray marching, I use the sum of their coefficients of absorbtion. Since the smoke coefficient of absorbtion is about 20000 times greater than the flames, this sum is basically equal to just the smoke's coefficient.
- Searching the internet for smoke's albedo I find that 0.6 is considered low, so I'm using that.
- There's some nice course notes for a lecture by Dr. Jensen on particpating media on Stanford's site, here.
- I have to fiddle the adaptation luminance used for tonemapping. This image was generated with Ward's contrast-based scale factor.
- I'm not sure if this matters, but I think there is a slight bug in fire rendering formula given in Eq. 21 of Nguyen et al. I'm no expert but I think if you are importance sampling according to the reflectance distribution rho, you do not need to include it as a factor in the second term (2nd line). I forget what difference this makes, but I leave it out.
- I precompute the blackbody spectral radiation for the temperature in each voxel, convert it to XYZ, then convert that to the (unadapted) RGB, and store this per-voxel. Actually, I create a lookup table of RGB values from 900-10000 degrees Kelvin in ~10 degree increments, then just store the index to this table (rounded down to the nearest neighbor) per-voxel.
- This simulation only includes one indirect bounce in the participating medium.
- The light on the floor is computed using Monte-Carlo ray tracing, using 2000 rays distributed in the hemisphere, where each ray traverses the medium and integrates only the emission/absorbtion of luminance without doing any recursive scattering rays. These radiance values are then interpolated using irradiance caching.
- Render time was 4.6 hours on a Dual 3.0GHz Xeon. Thank-you to Dr. Banks and FSU.
It's not 100% accurate, but it is better. I'll continue improving it and try add some more smoke and make the flame itself look more real, like in this image. And maybe some speed improvements and an animation.
- Mon Mar 12 23:59:59 EST 2006
- Tue Mar 7 09:43:47 EST 2006
Fixed IndexedLineSet to QuadMesh conversion program. This program converts SoIndexedLineSets, such as those produced by VTK, to SoQuadMeshs (despite the name which seems to indicate it converts the un-indexed variety, SoLineSets). Download here: lineSetToTube-1.0.tar.gz (4k).
- Mon Mar 6 04:32:33 EST 2006
Blindly and manually exploring parameter space of physical constants for MC integration of indirect illumination. Sigh. Maybe I should set up a script and take N (~50) samples of the 5D space in a random and automated fashion. Or research plausible values for these constants, e.g., smoke scattering coefficient, flame extinction coefficient, accurate radiance values (right now it's only accurate up to a constant scale), etc.
- Mon Jan 9 18:37:42 EST 2006
I wrote a small program that converts a Tracts_?????.iv file into a QuadMesh using the lineSetToQuadMesh function by Dr. Banks. However the tubes are dark. Maybe the normals are weird. Making the tube radius negative didn't help. I'll take another look at a later date.
Created web page for fluid simulators.
- Sun Jan 8 03:21:39 EST 2006
Updated Dr. Banks personal notebook.
- Thu Jan 5 17:56:56 EST 2006
- Update Dr. Banks personal laptop to have latest OS patches/compilers/inventor.
- Dress up Harvard's dataset (turn lineSets to tubes)
- Pack up opteron.
2006 Page 1
2005 Page 1 Page 2
|Kevin Beason /||Home|