a cool matrix effect demo :)
This is my first public demo.
It shows an effect like in the movie The Matrix.
Please tell me how it runs.
click to download
[edited by - sirius_black on May 16, 2002 10:27:57 PM]
looks cool.. kinda slowmo though.
also: when you do the transition that basically
makes the mesh disappear, it''d look better if
you emitted some particles or something flashy out of the
top. because when i rotated the camera, i could look ''down''
inside the mesh, which kinda killed the effect.
-eldee
;another space monkey;
[ Forced Evolution Studios ]
also: when you do the transition that basically
makes the mesh disappear, it''d look better if
you emitted some particles or something flashy out of the
top. because when i rotated the camera, i could look ''down''
inside the mesh, which kinda killed the effect.
-eldee
;another space monkey;
[ Forced Evolution Studios ]
-eldee;another space monkey;[ Forced Evolution Studios ]
nice... but I agree with eldee: too slow and would look better if you would "cap" the mesh so you couldn't see inside it... Then add just some cool bumpmapping and it's a winner...
Any more techincal notes, like how do you do it?
You should never let your fears become the boundaries of your dreams.
[edited by - _DarkWIng_ on May 17, 2002 7:49:35 AM]
Any more techincal notes, like how do you do it?
You should never let your fears become the boundaries of your dreams.
[edited by - _DarkWIng_ on May 17, 2002 7:49:35 AM]
You should never let your fears become the boundaries of your dreams.
It's very Cool 
[edited by - remi on May 17, 2002 11:39:03 AM]

[edited by - remi on May 17, 2002 11:39:03 AM]
"...and we all know what "undefined" means: it means it works during development, it works during testing, and it blows up in your most important customers' faces."----------Scott Meyers, "Effective C++"
Thanks a lot for your feed back.Sorry I wasnt able to reply earlier.
The effect is nothing more than drawing a part of the mesh at a time and changing the amount of the mesh being drawn over time.
We can't do this by rejecting some triangles and drawing others because in that case for the effect to be smooth we need a very high polycount.We should be able to reject a part of a triangle too.We can do that by alpha testing.
Now the problem is detrmining the alpha value for all the vertices in the mesh.A mesh is nothing but vertices connected by lines... which is equivalent to nodes connected by edges... A graph!
just build a graph of the mesh.( and make sure it is a connected graph i.e. you should be able to reach any vertex from any other vertex while travelling along the edges.)So you have a notion of a surface now not just a bunch of triangles..ie you know one triangle is adjacent to another and so on.I pick one source node(vertex) and I assign alpha values to other vertices based on their distance to source node. the distance is the smallest distance covered in reaching the node from the source node while always travelling along the edges.This is a standard problem in graph theory and the most popular solution is Dijkstra's algorithm.The nearest node(source itself) is assigned 0.0 and the farthest 1.0 and the others have intermediate values.
So simply enable alpha testing and keep changing the reference value. Or better still keep the reference value constant while changing the alpha values you pass so that it will be smooth.
The best thing I like is graphs have provided me a nice way of realising the surface.
Has anyone else found graphs useful too?
yeah I admit its slow.I deliberately slowed it down so that you can see how smooth it can be.I'll update it along with the bumpmap maybe.
DarkWing, you mean bumpmap the shiny part? how can I generate a nice bumpmap for a character? Converting the character's texture to gray scale wont be correct.Right?
Oh and how do I do the capping of the mesh?
[edited by - sirius_black on May 18, 2002 11:00:30 PM]
The effect is nothing more than drawing a part of the mesh at a time and changing the amount of the mesh being drawn over time.
We can't do this by rejecting some triangles and drawing others because in that case for the effect to be smooth we need a very high polycount.We should be able to reject a part of a triangle too.We can do that by alpha testing.
Now the problem is detrmining the alpha value for all the vertices in the mesh.A mesh is nothing but vertices connected by lines... which is equivalent to nodes connected by edges... A graph!
just build a graph of the mesh.( and make sure it is a connected graph i.e. you should be able to reach any vertex from any other vertex while travelling along the edges.)So you have a notion of a surface now not just a bunch of triangles..ie you know one triangle is adjacent to another and so on.I pick one source node(vertex) and I assign alpha values to other vertices based on their distance to source node. the distance is the smallest distance covered in reaching the node from the source node while always travelling along the edges.This is a standard problem in graph theory and the most popular solution is Dijkstra's algorithm.The nearest node(source itself) is assigned 0.0 and the farthest 1.0 and the others have intermediate values.
So simply enable alpha testing and keep changing the reference value. Or better still keep the reference value constant while changing the alpha values you pass so that it will be smooth.
The best thing I like is graphs have provided me a nice way of realising the surface.
Has anyone else found graphs useful too?
yeah I admit its slow.I deliberately slowed it down so that you can see how smooth it can be.I'll update it along with the bumpmap maybe.
DarkWing, you mean bumpmap the shiny part? how can I generate a nice bumpmap for a character? Converting the character's texture to gray scale wont be correct.Right?
Oh and how do I do the capping of the mesh?
[edited by - sirius_black on May 18, 2002 11:00:30 PM]
for bumpmapping, take a look at ARB, ATI and Nvidia extensions (GL_ATI_envmap_bumpmap, GL(_ARB_)texture_env_dot3, GL_NV_register_combiners, etc).
to cap things, you can use the stencil buffer, but i don''t think it''s the best way of doing it.
to cap things, you can use the stencil buffer, but i don''t think it''s the best way of doing it.
"Shadow of annoyance Ne''er come hither! ...And when He falleth, He falleth like Lucifer, Ne''er to ascend again..."
TOT
TOT
I am stuck with a TNT card. So I''ll have to settle for emboss bumpmapping.Is it possible to do dot3 without hardware accelration?
Woo! It ran great and looks great
I have a Voodoo5500
Very smooth. Some suggestion for you to try are when the silver starts to come over him. Why not scale it outward a little. So it seems like thick paint coming over him. Like it's being some liquid that isn't part of him. The effect in the demo seems like it's within his skin and not something that isn't part of him.... It looks great nonetheless though.
Great Job
~Wave
[edited by - wavewash on May 19, 2002 11:57:30 PM]
I have a Voodoo5500
Very smooth. Some suggestion for you to try are when the silver starts to come over him. Why not scale it outward a little. So it seems like thick paint coming over him. Like it's being some liquid that isn't part of him. The effect in the demo seems like it's within his skin and not something that isn't part of him.... It looks great nonetheless though.

~Wave
[edited by - wavewash on May 19, 2002 11:57:30 PM]
you can do bumpmapping without any hardware acceleration but it requires alot of maths and it kills the framerate (texture multipasses, lighting computations, etc). TNT2s have some extensions from Nvidia, maybe on your TNT1 there''s some too, those could help.
"Shadow of annoyance Ne''er come hither! ...And when He falleth, He falleth like Lucifer, Ne''er to ascend again..."
TOT
TOT
Wavewash, scaling it wont make it look like a second skin coz the second mesh wont be equidistant at all points from the frist mesh.I tried displacing the vertices a little along the vertex normal but I found out the normals arent correctly oriented.I''ll convert the mesh from md2 to my own format and maybe update the demo tommorow. thanks for the suggestions.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement
Recommended Tutorials
Advertisement