ALL MY SCRIPTS ARE USELESS! Sept 9, 2003
But before I get to the topic of my subject I would like to mention that that
is what I intended, but I hope I can find the motivation to do them. I also had
something else to say which has since slipped my mind
Ok then, how will they be useless you may ask? Well the RestoreUV script is
now unnecescary considering the radiosity functionality of the current source
trees that will be avalible in 2.29. As for baking radiosity into a texture it
is no longer a priority, and blender needs more tools similar to it. The DOF
thing I have been thinking about could easily be done with blender's
acculimation buffer, just need to allow a numeric input of frames used in motion
blurring (could go up to 4096 as I mentioned before).
I remember now, I will probably be getting a new server, and have yet to
instal (or make) a reasonable replacement for FrontPage (or FrontPage itself).
Now, before anyone screams about me not being a true geek because I don't hard
code all of my stuff, my response is that I am lazy, FrontPage is easy for me to
work with, and it allows me to at least check my spelling well. Kate (in linux)
looks pretty good but it doesn't allow me to have different settings for python
developement, html development, and c development hence it is not particularly
useful for either. Also the "apply word wrap" command (I have automatic word
wrap turned off) removes the newlines between paragraphs. (I am writing this in
Besides, as for the math of RestoreUV, it isn't easily possible, and is no
I have another script in mind that could be incredibly useful (and a major
improvement over blender's nearest feature), but I haven't fully worked out how
it all should work. I feel the best approach would be to write it in python,
then port into c or c++ because I wouldn't have to wory about all off the odd
things in c-based languages (like the lack of problems accessing array elements
out of bounds) which would aide in debugging.
Umm... June 20, 2003
I need to finish my script projects... Currently I am working on two,
and considering a third.
Main project, RestoreUV
This will allow the restoration of UV coordinates to radiosity
solutions. The problem is trivial on triangles, and simple on planar
quads. On non planar quads the vertices lie on the surface that would be
generated if the face were subdivided. The math is ending up more complex
than I would like, and the solution is still a bit off. I would also like
to use Blender.Window.draw_progressbar(), but I am having trouble with it in my
Idea, improve theeth's UV export script
I have a few ideas in mind, they are as follows
- use OpenGL (Blender.BGL) for line drawing
- allow different line colors (how?)
- allow different background color (how?)
- allow vertex-colored faces in texture
- allow vertex-colored line
- (change variable thickness to opengl call)
- maybe a preview in python window
- maybe allow repeating UV maps?
I would have to write a color chooser too
I have been playing with focal blur lately, and have produced results with
240 samples. 256 is not out of the question, and with a script 4096 isn't
out of the question. Essentially I have been using the motion blur functionality
with the sequence editor to blend 240 images. The results look good, for
the places that are not in focus. Because the sequence editor doesn't have
higher precision than the images, it looks like they have in the places in focus
been converted to a lower depth.
notice the banding on the rook, the background gradient, and the gray thing
in the lower left (just behind another piece, which is a rook). This was
rendered in about 30 minutes (I think) at 1280*1024 by combining 15 motion
blurred (16 samples) frames, or 240 images (but not combined all at
With a python script I could probably write a targa loader, and merge the
images with 16 bits per channel precision, then export another targa (with the
typical 8 bits per channel), thereby removing the precision loss.
all script names are subject to change
almostBowling June2, 2003
I feel I should ramble about this "mysterious" project I have been
working on. It is titled almostBowling and is almost a bowling game.
It was written in C, and the media done in blender (no textures, just vertex
colors). The binaries can be found in my files directory
and are in the format of almostBowling_OSNAME.zip.
I shall copy from some other documentation about it (which I hope to publish
sometime with the source) regarding the objective and controls
Extract almostBowling_windoze.zip> to the directory where you want to install
almostBowling. This zip archive has the files in it's own directory, so extracting to "C:\Program Files\" would put the executable that will start the game in
almostBowling can be run by double-clicking almost.exe in the almostExec directory that was
created. If you create a shortcut to almost.exe it will not work if the working directory (in the Shortcut tab) is set to the almostExec directory.
Source is inalmostBowling-0.75_windoze_source_VC6.zip and should compile in
Microsoft Visual C/C++ 6 into it's own almost\exec directory.
Extract almostBowling_linux.tar.gz to the directory in which you want
almostBowling installed. Like for Windows this archive contains a direcory
in it. You will need the SDL libraries installed, probably mesa (for
opengl) and it would be nice to have hardware accelerated video drivers.
It will also need to be run from the directory containing the program data
(likely the same as the one containing the program)
Source is in almostbowling-0.75_linux_source.tar.gz and I will not instruct
you how to compile it.
2.0 How to play
The goal is to knock all of the 'pins' off of the 'field.' The pins are smaller than your ball, and usually arranged in a trianglurar shape. You knock them off by throwing your ball at them. When they are all knocked off you will be taken to the next level. There is not currently a limit on how many times you can throw the ball in each level.
How to throw the ball:
While moving your mouse in the direction you wish the ball to go (relative to the 'field,' not the direction the camera is facing) press the left mouse button (primary mouse button).
When you release this button (you don't need to hold it for long, just tap it) your ball will be thrown with the direction and speed you were moving the mouse at while holding the left mouse button (primary mouse button).
The ball will move around for ten seconds (a countdown timer will appear in the upper left), until it falls off the 'field,' or until you press the right mouse button (secondary mouse button). When one of these events occur your ball will be reset, but the 'pins' will not, they will continue moving.
- Esc or Control+Q Quit
- F5 Restart this level
- F12 Skip to next level (may be removed in the future)
- P to pause and un-pause.
- Enter will also un-pause
Needs work and the comments about code need to be revised. I am lazy,
and the project complete. Estimated specs: PIII 500 with GeForce, or PIII
800 with other video card.
Full Circle May 23, 2003
Poking around (it started on slashdot) online I came up with http://www.paulgraham.com/road.html
So, there is a suggestion that computers will go back to working from
servers? (for those out of the loop computers [computer terminals then]
used to just be keyboards and displays that connected to a Unix
mainframe). Paul Graham is suggesting that web applications will be
supreme. Looking at the computing power most desktop applications use (a
p-200 would be satisfactory) this model could work. It seems the hardware
people are in on it too. I have seen tablet displays that aren't
workhorses, and interface with you desktop (wirelessly) so that you may work in
another place. Also I have seen server computing things where at your desk
you have your monitor, keyboard, mouse, and a box the size of a 5 port
switch. This box has 2 USB ports, a vga port (video), and Ethernet (and
power). It connects to a computer over Ethernet that does all the work,
and the little box acts like little more than a vnc client.
The ideas presented that there are so many things that the user should be
able to ignore are true too. The user shouldn't have to deal with drivers,
or updates, or compatibility (much).
Currently there are a number of applications where a server-based application
would be preferred. The first to come to mind is to manage content in
large projects. (think better CVS) While software can instantly come to
mind, the management of resources such as the content in games (textures,
models, levels) and the inventory of props or film in movies (take 22 is the one
the director liked) can prove insanely useful. I am considering putting
some CVS server on one of my (older) computers just to manage assignments I
do. (I am that geeky)
Though I would be interested in a computer with power (which I will try to
use), I feel if this is the route that is taken I will be one writing these
... and I now get to wondering: with the new phones is there more of a focus
on entertainment and game play in the limited medium, or technical achievement
(it is a raycaster like wolfenstien 3d ... on your phone!!!). Is the need
for better hardware going full circle as well, or just our handheld hardware
improving beyond that of what is necessary now.
(I think a p-120 with 32 Mb ram, windows 95 and office 97 is all that is necessary
now computing-wise for most people)
FILALS! May 10, 2003
Where do I begin? I noticed I don't have referenced yet my alpha face
sorting endeavor. alphaSorting/ have
I should talk here about what I did for my C programming class, but I shall
not, I need to work on documentation more.
This summer... I will... umm....... MAKE BLENDER BETTER! I should have
time to get it compiled at which time I hope to play with the game engine...
(and the physics shall be back by then).
And maybe a template update over the summer? don't count on it.
Need an update, what do I say? April 11, 2003
SIGGRAPH is cool! (The conference is in June though) There are
semi-local 'chapter' meetings every month or so, and I will be attending another
next week. Meh, I'll say it. It is on Tuesday, and will be about
I am doing a significant amount with SDL and OpenGL, which I may release
(nothing spectacular though) in a few weeks, if it is completed. I hope to
make significant progress next week. It is for my C programming course,
and another assignment (I have interesting instructors), but I don't know how interesting
it will be to other people.
I am annoyed by some of the things that I can do in C++, but not C. No
Maybe I should get to work on it more.
Oh, I did this a while back (in wings) to prove something. On the top
is the smoothed versions of the meshes on the bottom. The structure of the
two smoothed meshes is the same, but the control cages are different. One
is all quads, and one is all four edged vertices. Note that each 3 edged
vertex on the all quad one corresponds to a triangle on the 4 edged one, each 5
edged vertex to a pentagon.
I just noticed that wing's background color is my default (windows)
(and when I feel like it this website will get new template)
Planning on new server, March 9th or so, 2003
I find it really annoying that yahoo has discontinued (apparently) FrontPage
2000 uploading and extensions (the latter I didn't use, and ftp went last April
I believe). They now only allow FrontPage 2002 uploading for their most
expensive (and still not worth it) service.
... and it appears they are blaming Microsoft, by saying that their problems
stem from the fact that FrontPage 2002 can only upload to domains, not to
directories (http://somewebsite.com versus http://www.oocities.com/somewebsite/).
It doesn't matter to me, I just want it to work.
I feel I will soon be going to a new host. I hope I can afford
That said, there will probably always be something here. Though maybe
only slightly more than my other page (which for reasons I will not disclose, I
will not link to from here).
Overdue update, still not here. March 8, 2003
Where to begin...
My script is coming along, though not nicely. I am having lots of
trouble with it, now know of some new test cases, but have too many other things
to do to get to work. I have no indication that my [vector] functions
cause the problems, but little else in the code (that exists on 2 or fewer
lines) hasn't been thoroughly reviewed. A bit frustrating, but I have
other things to worry about.
For a project in a couple of classes of mine I've been playing with glut, and
open gl. It seems a good bit slower than I would like on the systems that
matter (the targeted audience really only includes my instructors, and a p3?
450, with a tnt2. Should work, but so far has proven excessively
slow. ). I hope that I don't need to maintain separate code bases to
develop at home (Linux), and at school (windows), or have blocks for independent
window management and such.
I have another website to work on (non-personal), so this one may go fallow
in the coming month.
||Guilt,. February 5, 2003 || |
Promises... They can become quite annoying.
I seem to remember nearly promising (if I didn't promise other people I
promised myself) that I would write that alpha-face-sorting script. Well,
one weekend [at least] has passed since I hoped to work on it, and make visible
progress, and I haven't. Even though I have other things to worry about, I
think I should have done something on it by now.
What am I going to do?
I am going to explain my idea for my method (write a script with it if you
like). Maybe a bit complex, and not likely going to be seen by people that
care (I don't self-promote enough), but here goes.
For each face in an object
Generate a normal vector that points in the direction the face is
INVISIBLE from (cross product of two edges, works better if is triangle)
Create a list of faces (starting at empty) specific to this face, it will
contain the faces that need to be drawn BEFORE this face
For each other face in the object
append this face to a list if one or more of it's vertices lie behind the
face in the parent loop (dot product > 0?)
# the next part is a bit abstract still
Recursively go through the lists of faces that must be drawn before the other
faces, and look for the first face that must be drawn.
Put that face in a duplicate object (or change the first face's data, or
whatever it takes to make it drawn first)
Remove that face's element from both the list of faces, and the lists of
faces that need to be drawn before a particular face
repeat until no more faces remain.
Problems will be encountered with situations where face 'a' must be drawn
before 'b' before 'c' before 'a.' This depends on the model, and I
hope to explain more later.
I haven't been able to test the one thing I really need to know. I
still don't know how I will be able to control the order faces are drawn,
determine the order they should be drawn is all I have figured out.
||MRAWARRGH! The second coming. January 20, 2003 || |
Ok, I have done a large bit of stuff. Here goes...
I've been playing with cascading style sheets for another website I work on
(for security reasons I will not say where), and in the process I have been
working on a script similar to the one I use for this website. Except it
is written in JScript for the windows scripting host, as that is the type of
computer I do the most of it's development on, and it is the most common where I
work on it. The most interesting part has got to be regular
expressions. The script does little more than go though directories
looking at the files, and modifying some of them, with regular
I also have a(nother) 'new' computer. It is actually just a new
motherboard (with integrated audio, network, and USB), ram, case and power
supply (I've kept my video card, CD-ROM, hard drives, and peripherals). It
makes a bit more noise than I would like, but I'll live (the case has 6
fans). I have removed Mandrake, in favor of SuSE, because an acquaintance
of mine says it will work better with the sound card. The sound card works
with blender!!! (my other one had more than a few problems). I may
even be able to get midi support in Linux (I haven't tried yet).
The install was better than my previous attempts, except for the mouse.
My previous attempts, prior to the new motherboard, and the new chip, (8 in one
day) all failed, miserably. During the install it would have been nice for
the mouse to work (I think it didn't because I had it, and a Wacom Graphire 2
USB Tablet hooked up during the install. The mouse still doesn't work
properly. I haven't messed with the tablet lately. Also, it would
have been nice to see the formatting of my partitions (other than that they were
Linux native), so that I could tell which to format (root was reiser, home was
ext2), so that I may preserve my home directory.
Windows didn't work much better. The found new hardware dialogs become
very annoying very quickly. Especially if it doesn't recognise your IDE
well enough to read from the CD-ROM the drivers. I ended up copying the
CD-s onto my hard drive (in linux), and telling windows the divers were
there. I also booted into save mode, went to the device manager, and
removed just about everything. I still need to set up my network settings,
and hope that a certain program on my computer doesn't get confused.
In SuSE I need to update fstab such that I can work well with my windows
partitions. One of them must be corrupt in some odd way (I think looking
up LBA mapping may help...), it keeps crashing my systems, regardless of the
operating system. I also need to update my SuSE system online,
because they "due to licensing issues" didn't include the NVIDIA
detonator drivers, as Mandrake did. A working tablet in Linux will be
nice, and when I get around to it I will do that.
The case/motherboard/chip/ram/otherCDROM of my old computer now has a 'new'
hard drive, and if I get around to it will be running Linux. Mandrake
probably. I am debating whether or not to put my voodoo 3 in it, or see if
I can find some way to get 3d acceleration on a trident 'cyberblade.'
Since the computer currently holding the voodoo card will not boot, I guess it
will go to that one.
I now have DSL, and it is now faster than it was before (which was faster
than the modem before, and I didn't report). And one of the servers I have
a page on is running windows, and is case insensitive. Hmmm, shall I learn
Oh, I think I've got the math for an alpha face sorting script. I need
to sit down and work on it, but unless the computers at school suddenly start
working well with blender on Friday morning, it will likely be Saturday before I
get any (visible) work done on it.