1 page
^^
vv
List results:
Search options:
Use \ before commas in usernames
Edit history:
tate: 2009-03-13 06:16:02 pm
Me and my brother are attempting a project for an old friend and well, we decided to do it in a raytracer. I will post my little side creations used to figure stuff out for the project here as we go along. Everything i do is in POV-Raytracer3.6.1 on an Ubuntu linux machine.
Here is my attempt at recreating DJGrenola's waving flag. I don't need as good of a wave as he had in the sda promo video so mine is much simpler.
http://www.youtube.com/watch?v=U9QblREDVdk
youtube screws the quality up so if you want here is the 56 MB(beware 56k users) file at filefront
http://files.filefront.com/testavi/;13388399;/fileinfo.html
Thread title: 
this is really cool. i bet grenola would have a lot of technical questions. what's the nature of the project? are you going to try to place videos on the flag or just more traditional textures?

keep us informed!
Edit history:
tate: 2009-03-01 05:09:22 pm
actually we aren't using a flag at all. I just needed a way to figure out how to use a sine wave on an isosurface and grenola's flag was the first thing that came to mind so i thought why not make a flag like that to learn.

The project is a short little 3-8 second intro thingy for a friend/comedic movie producer. He is still a no name and only shows his films to his friends but i think they are pretty good. He wants a professional looking symbolic movie intro/super short animation. Me and my brother always wanted to collaborate on something like this together so we jumped when he asked us.

We are already a couple weeks into it and this is the first image i have produced because the first thing we had to do was learn how to use raytracer. My brother already knew how to use a lot of the functions and stuff that comes with it. We decided in the first couple days that we really dislike the way the clock works so we wrote our own clock and frame to frame changing stuff. My brother has since used our new clock to write some very good looking camera movement controls which i should have used in this little clip but didn't think about it. I wrote a few little bash scripts that will take our pov file and completely trace and dump into a video(via mencoder). The way we wrote the clock allows us to use multiple cores on a video project like this by giving each core a different frame to render so thats speeds things up a bit. Our next job is to figure out how to put an image on an object, we haven't looked into it yet but it can't be too awful difficult.
Edit history:
DJGrenola: 2009-03-01 05:41:27 pm
Yeah, POV isn't ideal for doing animations from a programming point of view, and if you want to do anything serious, the first thing is always going to be to write a toolkit to persist variables between frames and control the camera. But you only have to do it once. (Actually, if I were doing zwei again, I'd probably completely rewrite the thing. >_>)

I still think that POV-Ray can produce some very nice results for a piece of software that costs nothing, though.

edit: Ugh, god I just made the mistake of looking at the zwei source code again. It's a complete mess. The code which loads most of the image textures is this, I think ... :|

Code:
#declare TEX_VID=texture { pigment { image_map { png REALPNG once } } finish { phong P_PHONG ambient P_AMB } };


Saw this too, I haven't looked at it for ages. The commented-out TAS line is pretty funny, I guess we were low on space, or maybe we just didn't want to make an issue out of it.

Code:
#macro M_TEX_POST_TEXT_POPULATE()
  #if (TEX_POST_TEXT_SET=1)
    #declare TEX_TERMINAL_TEXT_HEADER="speed run:";
    #declare TEX_TERMINAL_NUM_LINES=4;
    #declare TEX_TERMINAL_TEXT_BODY=array [TEX_TERMINAL_NUM_LINES];
    #declare TEX_TERMINAL_TEXT_BODY [0] = " ";
    #declare TEX_TERMINAL_TEXT_BODY [1] = "a player";
    #declare TEX_TERMINAL_TEXT_BODY [2] = "beating a game";
    #declare TEX_TERMINAL_TEXT_BODY [3] = "as quickly as they can.  ";
//    #declare TEX_TERMINAL_TEXT_BODY [4] = "as they can.  ";
  #end
  #if (TEX_POST_TEXT_SET=2)
    #declare TEX_TERMINAL_TEXT_HEADER="Speed Demos Archive:";
    #declare TEX_TERMINAL_NUM_LINES=5;
    #declare TEX_TERMINAL_TEXT_BODY=array [TEX_TERMINAL_NUM_LINES];
    #declare TEX_TERMINAL_TEXT_BODY [0] = " ";
    #declare TEX_TERMINAL_TEXT_BODY [1] = "the definitive collection";
    #declare TEX_TERMINAL_TEXT_BODY [2] = "of freely downloadable";
    #declare TEX_TERMINAL_TEXT_BODY [3] = "high quality";
    #declare TEX_TERMINAL_TEXT_BODY [4] = "speed run videos.  ";
  #end
  #if (TEX_POST_TEXT_SET=3)
    #declare TEX_TERMINAL_TEXT_HEADER="SDA rules:";
    #declare TEX_TERMINAL_NUM_LINES=7;
    #declare TEX_TERMINAL_TEXT_BODY=array [TEX_TERMINAL_NUM_LINES];
    #declare TEX_TERMINAL_TEXT_BODY [0] = " ";
    #declare TEX_TERMINAL_TEXT_BODY [1] = "- runs must be verified";
    #declare TEX_TERMINAL_TEXT_BODY [2] = "- no unofficial emulators";
    //#declare TEX_TERMINAL_TEXT_BODY [3] = "- no tool assisted videos";
    #declare TEX_TERMINAL_TEXT_BODY [3] = "- no modified controllers";
    #declare TEX_TERMINAL_TEXT_BODY [4] = "- extreme glitches";
    #declare TEX_TERMINAL_TEXT_BODY [5] = "  are banned";
    #declare TEX_TERMINAL_TEXT_BODY [6] = "- no cheating !  ";
  #end
#end



My flag code looked like this. (32 x 32 = 1024. :P)

Heh, there's that text overlay that we didn't use commented out. I guess REALTIME was a variable derived from the clock somehow.

Code:
    #local FLAG_OBJ = union {
      #local I=31;
      #while (I>=0)
        #local J=0;
        #while (J<32)
          isosurface {
            #local X_OFF=REALTIME;
            #local Y_OFF=REALTIME*0.8;
            function { -z
                       //- (J+I*32)*0.000001 // coincident surfaces hack
                       + 2*FLAG_WIBBLE_AMP*(f_noise3d(x/3+X_OFF/2,y/3+Y_OFF/2,0))
                       - FLAG_WIBBLE_AMP*(f_noise3d(x/2-X_OFF,y/2-Y_OFF,0)) }
            contained_by { box { <J*10/32-0.00001,I*7.5/32-0.00001,-3.01>,<(J+1)*10/32+0.00001,(I+1)*7.5/32+0.00001,3.01> } }
            max_trace 2
            //contained_by { box { <J*10/32,I*7.5/32,-3.01>,<(J+1)*10/32,(I+1)*7.5/32,3.01> } }
            open
            max_gradient 1.3
            texture { M_TEX_GET(FLAG_AMB,FLAG_PHONG) scale <10/32,7.5/32,1> translate <J*10/32,I*7.5/32,0> }
            // text overlay
//            #if (FLAG_TEXT_START_FRAME != -1)
//              texture { M_FLAG_TEXT_TEX_GET(FLAG_TEXT_AMB,FLAG_TEXT_PHONG) }
//            #end
          }
          #local J=J+1;
        #end
        #local I=I-1;
      #end
      #if (FLAG_LS_AMP_COEFF>0)
        light_source { FLAG_LIGHTSRC }
      #end
    }
wow DJG! Good stuff. just for comparison here is my lazy code for my flag.
Code:
isosurface {
	function { x -f_sine_wave(y+WAVE_X,0.1,1)
		-f_sine_wave(z+WAVE_Y,0.1,1)
		//sin(pow(x,2) +pow(z,2))
		//-f_noise3d(sin(x),y,z)*1.4}
		//2*f_noise_generator(x,y,sin(z),4)-1}
		}
	contained_by{
		box{
			<FL_X_ONE,FL_Y_ONE,FL_Z_ONE>,<FL_X_TWO,FL_Y_TWO,FL_Z_TWO>
		}
	}
	texture{
		pigment { color Red}
	}
	rotate OBJECT_ROTATE_Y
	translate <TRANS_X,TRANS_Y,TRANS_Z>
}
Edit history:
craztad: 2009-03-01 07:05:12 pm
kyupi+yakisoba=win
i might as well get my latest test on here. I had to build the tools to get objects/camera to move smoothly and this is what i got so far. Just a fun little camera fly with a flying zigging box.


edit: as my brother just pointed out to me. The zigging box does not end up aligning with the pair of boxes right. guess i was just off by one on the axis calculation for end of flying.
Edit history:
tate: 2009-03-04 05:09:01 am
images on the object are in, got a way to keep track on each photo for the next frame. Now we just need to set of moving images to put on the center. also gotta make some blobs to work with now.
Oh ya, im watching you! haha i enjoyed making this pic.

attachment:
kyupi+yakisoba=win
the only complaint i have is why doesn't povray.org make a physics engine. It would make life so much more helpful. Im building it from scratch at the moment to give a squarish blob bouncyness when it hits the ground and squishes in and out and stuff. argh, too much math for me. Were going to have our own little gui by the time we get done building all these toolkits outside of povray. Thank goodness we don't need any water stuff otherwise i would say lets just do it in blender.
Probably because POV-Ray was never designed to do animations. One thing I did learn during my adventures is that you don't have to model physics perfectly -- something that just "looks right" is usually enough.



boing
Edit history:
tate: 2009-03-13 06:16:49 pm
getting closer to gravity and realistic bounce. got a few bugs to get out though.
[noembed][url=[/noembed]

And now some fun facts about the video:
Render Time: ~14 cpu hours
Lines of code per frame: ~12000
# of Differences in each jiggle frame: ~180
# of times i ran out of memory: 8
Is this a good way to do this kind of thing: NO!!
Edit history:
craztad: 2009-03-06 01:02:40 pm
kyupi+yakisoba=win
haha midway through the first bounce you can see where we split the cube into smaller parts to get the jiggle illusion. don't know how im going to fix that. say bye bye to the only ram you had left  laugh new

edit: another laugh is that the floor and cubes reflection variables got reversed on accident. my bad, floorReflect=cubeRefNum; cubeReflect=floorRefNum; highlight of my night.
that actually looks great. you can see things that i can't because you created it.
12,000 lines ? You guys are nuts ... zwei was half that.
Those 12000 lines are automatically generated because we are doing as much of the math as we can outside of povray. It could be crunched down a lot more but we are lazy.
Edit history:
craztad: 2009-03-13 02:56:19 am
kyupi+yakisoba=win
haha flag time again.

that is one sexy flag. actually looks like a flag too.
yet more fun.


Me and my bro are kind of at a stand still with this project now. We have pitched so many ideas of what we can do in his short intro that he is a little awestruck and is attempting to give us a storyboard of some sorts to follow but until we get it we are just going to be having fun making all sorts of very short vids. We are thinking of doing some sort of short animation ourselves now that we have the tools to do so and i(don't know about my brother) have sort of fell in love with ray tracing for the moment now that our creations are not math equation based and want to see what we can really create. Any and all suggestions are welcome for storylines/scenes/characters/random awesomeness.
in zwei what we did was mostly determined by the order i thought of things and whether grenola wanted to do them. then he thought of something (the dominoes) which overrode what i thought of.
Edit history:
tate: 2009-03-15 01:52:28 pm
So my brother insisted i try out blender and i found that it is amazing and making things ridiculously easy. It just makes what weve done in povray feel soo worthless. So here is my first creation somewhat based off a tutorial on the blender site.
___
d._.b
|  |
|  |
|  |
|  |
|  |
|  |
OK, ignoring the horrible smiley, awesome job Tate! those are all really cool.