Just an idea... maybe you can try it ?
category: general [glöplog]
do you mean something like in this vid? http://www.youtube.com/watch?v=CsC8FKNE8fg
the vid is pretty sucking otherwise....
the vid is pretty sucking otherwise....
Well, media error was looking kind of interesting in places, but not amazing. Lifeforce, on the other hand...
[img]http://psonice.untergrund.net/images/experiments/lifeforce1.jpg[/url]
Neither demo has finished rendering out yet, but I'll stick the videos up tomorrow :)
[img]http://psonice.untergrund.net/images/experiments/lifeforce1.jpg[/url]
Neither demo has finished rendering out yet, but I'll stick the videos up tomorrow :)
bbcode fail..
i want to see xernobil's idea
Just something:
First, a video could be considered as voxel data (width*height*frames voxels).
Then, given three 3d points inside the voxel data space, you can define a texture for a triangle.
Then, you can divide the screen in a grid of triangles. You can apply textures from the voxel to the triangles defining any shape, for example, you can define a paperball. You can rotate the texture coordinates, deform the coordinates as if it were an object, displace it, and so on.
Only time deformations (what you are doing now) are just a subset of this idea, I'm not really sure of how it would look... maybe it would deserve a try with film data or a demo as video data... maybe.
First, a video could be considered as voxel data (width*height*frames voxels).
Then, given three 3d points inside the voxel data space, you can define a texture for a triangle.
Then, you can divide the screen in a grid of triangles. You can apply textures from the voxel to the triangles defining any shape, for example, you can define a paperball. You can rotate the texture coordinates, deform the coordinates as if it were an object, displace it, and so on.
Only time deformations (what you are doing now) are just a subset of this idea, I'm not really sure of how it would look... maybe it would deserve a try with film data or a demo as video data... maybe.
You mean to take the video, and use it as a height map to deform an object? If so, I did that a while back, using web cam input for the video.
It's fun, but actually quite hard to get a video that makes a 'good' object without actually making it to do so.
It's fun, but actually quite hard to get a video that makes a 'good' object without actually making it to do so.
No, I mean what I wrote; get textures as from a voxel texture, were the coordinates define an object, but applied to a plain grid.
So you mean using the rgb pixel values to set the xyz position of the vertices? Something like this (using this technique with these textures on a plain grid makes a distorted sphere): http://machinesdontcare.wordpress.com/2008/04/17/spherical-height-maps/
Otherwise, I don't quite get your idea there..
Otherwise, I don't quite get your idea there..
No, I mean a voxel texture.
A 2d texture use to be, let say 512x512
When you want to apply part of that texture to a triangle, you set 3 2-d coordinates, for example (0,0)-(511,0)-(0,511)
But you can have 3d textures. In that case you have 3 3d coordinates. You know, coordinates inside the 3d texture, that is a voxel.
A 2d texture use to be, let say 512x512
When you want to apply part of that texture to a triangle, you set 3 2-d coordinates, for example (0,0)-(511,0)-(0,511)
But you can have 3d textures. In that case you have 3 3d coordinates. You know, coordinates inside the 3d texture, that is a voxel.
Ah, ok. I'm with you now! So you could take the whole video as a volume, with normal width + height, plus time as z. Then render an object, with the colour being taken from the volume.
Interesting.. wonder how it'd look? Probably just extremely psychadelic :) The pic I posted above is basically a texture through x,y,time so I think it'd look a little like that (at least for a single triangle), but probably less 'linear' because you'd be looking through at angles, where I have fairly straight lines. The textures would flow well round the object though, and it'd look very interesting if the video was also animated (say through time).
I think my demo engine is actually capable of doing this, if I combine the stuff for the slitscanning i used above, plus one extra shader. I'll try it out in the next couple of days :)
Interesting.. wonder how it'd look? Probably just extremely psychadelic :) The pic I posted above is basically a texture through x,y,time so I think it'd look a little like that (at least for a single triangle), but probably less 'linear' because you'd be looking through at angles, where I have fairly straight lines. The textures would flow well round the object though, and it'd look very interesting if the video was also animated (say through time).
I think my demo engine is actually capable of doing this, if I combine the stuff for the slitscanning i used above, plus one extra shader. I'll try it out in the next couple of days :)
I think it would be great with, let say, 500 or 1000 frames from a long movie sequence. Much more would occupy just too much in memory (depending on the frame area, or course). I suppose it is better with only one continuous sequence than with more, so there is continuos data.
It could be seen also as a 3d map... erm, I don't remember the name of that. It was used for non-rotating tunnels. It was an array as the buffer, where every position have 2 values, x and y, indicating the point of the texture to apply. That in 3d is what I mean.
I used the triangles example because I supposed it was easier to understand... much more easy for rotations for example.
Whats the name of that thing? mapsomething?
It could be seen also as a 3d map... erm, I don't remember the name of that. It was used for non-rotating tunnels. It was an array as the buffer, where every position have 2 values, x and y, indicating the point of the texture to apply. That in 3d is what I mean.
I used the triangles example because I supposed it was easier to understand... much more easy for rotations for example.
Whats the name of that thing? mapsomething?
Not sure of the exact name, but I know what you mean. No idea how it would work with 3d, or what you'd use it for too.. but I can imagine it doing awesome stuff!
There are some nasty performance hits using this stuff btw. E.g. with the time/slitscan stuff i'm doing, I need one time slice per column, and as I'm also moving through x space it's necessary to use the whole frame. At 640x480, that means 640 frames, which means around .75gb of textures get used per frame. You can cut resolution or the time slices, but you lose quality pretty fast (it's good for previews though!)
Speaking of which, lifeforce is done. I'm re-encoding the video now (it was 1gb, and vimeo's limit is 500mb per week :/), i'll fire it up once it's done.
There are some nasty performance hits using this stuff btw. E.g. with the time/slitscan stuff i'm doing, I need one time slice per column, and as I'm also moving through x space it's necessary to use the whole frame. At 640x480, that means 640 frames, which means around .75gb of textures get used per frame. You can cut resolution or the time slices, but you lose quality pretty fast (it's good for previews though!)
Speaking of which, lifeforce is done. I'm re-encoding the video now (it was 1gb, and vimeo's limit is 500mb per week :/), i'll fire it up once it's done.
psonice, I've video already on my demosystem, I will try tomorrow with any film...
Video decompression looks to be fast enough (about 3 or 4 seconds for a thousand frames), and then the texturing process would not be very fast since it would be similar to random access for the cache, but... I suppose for low resolutions like 640x480 or something like that would be fast enough.
I will try withouht trilinear interpolation at first, it might be too costly for software rendering, if it is fast enough and looks good, I will try the interpolation.
If it looks extremely good, I suppose a cyclic buffer can be done for the frames so there is translation over time and the whole film is processed...
The memory doesn't look to be a big problem for me... 750 mb is not so much taking in mind the most of the people have, at least, 1 gb installed on current computers...
Video decompression looks to be fast enough (about 3 or 4 seconds for a thousand frames), and then the texturing process would not be very fast since it would be similar to random access for the cache, but... I suppose for low resolutions like 640x480 or something like that would be fast enough.
I will try withouht trilinear interpolation at first, it might be too costly for software rendering, if it is fast enough and looks good, I will try the interpolation.
If it looks extremely good, I suppose a cyclic buffer can be done for the frames so there is translation over time and the whole film is processed...
The memory doesn't look to be a big problem for me... 750 mb is not so much taking in mind the most of the people have, at least, 1 gb installed on current computers...
The memory problem is an issue if you're doing this on the gpu - not many have 750mb there, and pushing that across the bus each frame hurts. Actually this is probably a case where software can be faster, as there's not much actual processing to do.
Oh, and if you're choosing a video, pick one with as few scene changes / camera changes / fast movements as possible, but still with good detail and movement. From my experiments earlier, lifeforce works well because it has fairly long scenes and smooth transitions, media error works less well because there's more cuts and faster movement. Maybe something with one long scene, and a fixed camera, plus plenty of slowish movement...
It took a while, but here's the full capture of the slitscan remix of lifeforce: http://www.vimeo.com/1511466
psonice : that thing i think, is called static texture mapping. precalc u and v displacement for each pixel and then just translate the texture over time ; the point of view doesnt change, so there you go.
on topic : this mapkes me happy. once i saw a comment saying, "coding effects is just outdated nowadays" and it made me sad because i believed it. silly me ! :)
on topic : this mapkes me happy. once i saw a comment saying, "coding effects is just outdated nowadays" and it made me sad because i believed it. silly me ! :)
We got a 'slit scan' on our DS demo - it's also called a "twister" or "hblank swirl" :D?
this reminds me of scanning my face on my scanner while making "no" with my head. :)
psonice: AWESOME - i'll figure out a way to fuck up the audio similarly.
gargaj: great :D Hold on a while first though if you want it to properly match, I'll fix the bugs in it so it's a bit higher quality and doesn't skip like it does. It'll end up pretty similar anyway actually.
Not to piss on the effort or anything, but you managed to remove everything that was special about both those demos. :) I see how this effect can look awesome, sure, but you'll need to apply it to video that has a static background I think.
any recommendations?
Shiftaced Clowns! Shitfaced Clowns!