Matrix-style shader???
I was just wondering if anybody here knew of a vertex/pixel shader (high-level or otherwise) that simulated the effect as seen in The Matrix or knows how to make one simulate it? I would absolutely love to have it! Also, I would say there''s a few of you that would, too If anybody can, let me know! Thanks!!!!
It is coming...8 years in the making and It is finally coming...
-Beavt8r
Uh... there were a lot of different effects in the matrix, which one are you talking about? The matrix style text would just be a texture trick and wouldn''t require pixel or vertex shaders. Bullet time is a gameplay\movement\animation trick and also doesn''t require pixel or vertex shaders.
Sorry about that. I meant the falling code effect. I wanted it with the leading character "shining". I thought it would be awesome to have it in a game. Texture effect, you say? Hmm....how exactly do you mean? Scrolling, procedural, maybe..?
[edited by - Beavt8r on January 29, 2003 10:41:18 PM]
[edited by - Beavt8r on January 29, 2003 10:41:18 PM]
I think there is a Matrix text screen saver demo (with source) somewhere out there. For the scrolling text you can use the texture matrix (no pun intended) and just translate the texture coordinates downward. You may have to just draw each character as an individual polygon, but even with tons of text that''s not a big deal. For the glowing character you may want to do some additive alpha blending or something of that nature. Neither pixel or vertex shaders are necessary for the effect, just good textures that look like the characters in the matrix.
I see. Most of my, um, "research" has been with shaders, so texture effects don't usually pop out to me. That sounds good, though. What about an alpha test? What I'm going for is something that you can really tell 3D like curves. Like this:
You can tell most details by the brightness or something. How would I do this? Would it just be as simple as normal lighting on the texture? Or would it have something to do with density? Like I said, all that comes to mind is something with shaders...yeah, yeah...I know. Your help is really appreciated!
[EDIT]Or would the distance take care of the size....[/EDIT]
[edited by - Beavt8r on January 30, 2003 1:00:04 AM]
You can tell most details by the brightness or something. How would I do this? Would it just be as simple as normal lighting on the texture? Or would it have something to do with density? Like I said, all that comes to mind is something with shaders...yeah, yeah...I know. Your help is really appreciated!
[EDIT]Or would the distance take care of the size....[/EDIT]
[edited by - Beavt8r on January 30, 2003 1:00:04 AM]
Hmmmm... I see you want to do the "World as code" effect, and not just a simple console with scrolling text. A acsii 3D renderer would do the trick, but I''ve never seen this done in hardware. For this effect pixel and vertex shaders would be useful (I guess you were right.)
One way I''m thinking you could implement it is to render the scene (normally) to a texture at the same resolution as your text grid and convert it to luminance values. Then render a grid of random ascii characters or backwards katana or whatever the matrix code is written in, then use those luminance values from your original texture to set the brightness of the character. Your grid would update every frame, and you can preset the leading character to have full brightness.
I just completely pulled that technique out of the blue, it''s not documented anywhere and it may not work very well. There may also be much better (more optimized) ways to do this in hardware, but this should work.
One way I''m thinking you could implement it is to render the scene (normally) to a texture at the same resolution as your text grid and convert it to luminance values. Then render a grid of random ascii characters or backwards katana or whatever the matrix code is written in, then use those luminance values from your original texture to set the brightness of the character. Your grid would update every frame, and you can preset the leading character to have full brightness.
I just completely pulled that technique out of the blue, it''s not documented anywhere and it may not work very well. There may also be much better (more optimized) ways to do this in hardware, but this should work.
What if the characters can "wrap around" the objects, as in the image? Using a pre-rendered grid will not work very good for 3D I guess. Also, you can''t just plot out random characters, the Matrix text doesn''t work that way.
Couldn''t just the brightness be normal lighting and perhaps with a detailed normal map? The textures could be like 4 different software-updated Matrix-textures used in different places and mirrored in some. I don''t know how to handle the text so that it falls down all the time, perhaps with tex-coord generation?
When I think of it, in OpenGL, you could use EYE_LINEAR to make the textures stay facing the viewer at all times. Letting the textures "fall down" might not be very hard after all. :D
This is really interesting, perhaps I''ll try this some day I made a lil'' falling-text demo in Matrix-style, I guess I could just copy that code...
Couldn''t just the brightness be normal lighting and perhaps with a detailed normal map? The textures could be like 4 different software-updated Matrix-textures used in different places and mirrored in some. I don''t know how to handle the text so that it falls down all the time, perhaps with tex-coord generation?
When I think of it, in OpenGL, you could use EYE_LINEAR to make the textures stay facing the viewer at all times. Letting the textures "fall down" might not be very hard after all. :D
This is really interesting, perhaps I''ll try this some day I made a lil'' falling-text demo in Matrix-style, I guess I could just copy that code...
Impossible...sounds good. If I can go and figure out exactly the characters in the Matrix code, I can just make it pull a random char out of the matrixChar array. That seems like it would work. Correct me if I'm wrong. Your technique sounds very good. Coelurus, I see what you mean. I think that if I (or somebody else) can get the shader set up right, I think that it would handle the tex coords and as Impossible said, the normal lighting would take care of the character brightness. Now the question is, how exactly to do this? I think we have it pretty well outlined, now on to the implementation...help, anyone?
It is coming...8 years in the making and It is finally coming...
-Beavt8r
[edited by - Beavt8r on January 30, 2003 1:10:32 PM]
It is coming...8 years in the making and It is finally coming...
-Beavt8r
[edited by - Beavt8r on January 30, 2003 1:10:32 PM]
quote:Original post by coelurus
What if the characters can "wrap around" the objects, as in the image? Using a pre-rendered grid will not work very good for 3D I guess. Also, you can''t just plot out random characters, the Matrix text doesn''t work that way.
Hmmmm... it looks like a uniform gride to me. I think the reason why it looks curved is because of the brightness adjustment and all the text is screen aligned. If it is curved on the objects, you could just apply text textures directly to the characters. The random text thing wasn''t serious, I just wasn''t so sure about how the matrix text was laid out. When I said "random ASCII characters or backward katana or whatever the matrix uses" I meant moving text that looks like the matrix code in the consoles, just like your demo.
I agree. I think that the grid and lighting will do fine. Because the picture looks like all text is vertical (screen). What if I just rendered (every frame) the falling text and glowing leading character to a texture and just textured everything so that it''s aligned vertically and just had normal lighting?
It is coming...8 years in the making and It is finally coming...
-Beavt8r
It is coming...8 years in the making and It is finally coming...
-Beavt8r
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement