  | | | Dir3d-l Digest, Vol 8, Issue 23 | Dir3d-l Digest, Vol 8, Issue 23 2004-01-17 - By dir3d-l-request@(protected)
Back Send Dir3d-l mailing list submissions to dir3d-l@(protected)
To subscribe or unsubscribe via the World Wide Web, visit http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l or, via email, send a message with subject or body 'help' to dir3d-l-request@(protected)
You can reach the person managing the list at dir3d-l-owner@(protected)
When replying, please edit your Subject line so it is more specific than "Re: Contents of Dir3d-l digest..."
Today's Topics:
1. Re: question (Neto) 2. vectorizer (Taumel)
-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- --
Message: 1 Date: Fri, 16 Jan 2004 19:11:42 -0300 From: "Neto" <neto@(protected)> Subject: Re: [Dir3d-l] question To: <dir3d-l@(protected)> Message-ID: <000b01c3dc7d$b8dab6f0$1501b2aa@(protected)> Content-Type: text/plain; charset="iso-8859 (See http://iso-8859.ora-code.com)-1"
Halo uses a normal map and maps a cubemap texture as reflection, I guess. Both features are not avaliable in director.
For water, I got a little approximation trick, quite limited, but the result can be rather nice, since it produces a quasi-skybox reflection. I had a demo somewhere... well, I'll explain and try to see if I got the demo at home.
Pick a skybox texture set, and make a long cylindrical texture putting the side textures side by side. Apply it to the plane. Now scale the shader texture it by:
shader.texturetransformlist[1].scale(vector(texture.width/float(texture.heig ht), 1.0, 1.0)) shader.texturetransformlist[1].scale(vector(adjustValue, 1.0, 1.0))
The "adjustValue" is a trial and error value to re-scale the texture so it conforms better to the camera FOV. It should be possible to calculate the value, but just throwing a 0.5 there worked for me ;)
What this will do, is map only a part of the refleciton texture to the model. Now you need to translate the texture across the X axis so it scrolls when the camera rotate. The effects looks like a cylindrical mapping, reflecting the skybox. The way I found to properly rotate it is:
1) Calculate the camera rotation sin and cosin values:
xAxis = camera.transform.xAxis xAxis.y = 0 xAxis.normalize()
zAxis = camera.transform.zAxis zAxis.y = 0 zAxis.normalize()
tSin = xAxis.dot(worldX) tCos = zAxis.dot(worldX)
(NOTE: I zero'ed the Y axis because that is the world up axis in my scene -using Maya-, and since the reflection doesn't have up not bottom caps, this will keep it cylindrical)
2) Calculate the rotation that should be applied to the "cylinder": (wacky formulas! Don't ask me how I got to them, there were LOTS of trial and error)
tRot = ((aTan(tSin / tCos) + pi/2) / pi)/2.0 if tCos < 0 then tRot = tRot + 0.5
3) Convert the rotation value to an horizontal translate value, usable in the texturetransform. (yet more waky stucc)
tRot = -(tRot) - 0.0625*shader.texturetransformlist[1].scale[1]
4) Now apply it to the texture transform:
shader.texturetransformlist[1].position[1] = tRot*shader.texturetransformlist[1].scale[1]
I'll dig the demo and post it, if it still exists.
-- -- Original Message -- -- From: "David Keel" <davidkeel007@(protected)> To: <dir3d-l@(protected)> Sent: Friday, January 16, 2004 2:41 AM Subject: [Dir3d-l] question
> Does anybody know how they made the water/ocean in the game Halo? It's quite > impressive, especialy on the beach. I've been messing around with this fur > code, and it has got me wondering if this might be an angle.... > > __ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ __ > Check out the new MSN 9 Dial-up - fast & reliable Internet access with prime > features! http://join.msn.com/?pgmarket=en-us&page=dialup/home&ST=1 > > __ ____ ____ ____ ____ ____ ____ ____ ____ ____ > Dir3d-l mailing list > Dir3d-l@(protected) > http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l >
-- ---- ---- ---- ---- ---- --
Message: 2 Date: Sat, 17 Jan 2004 13:27:43 +0100 From: "Taumel" <taumel@(protected)> Subject: [Dir3d-l] vectorizer To: <dir3d-l@(protected)> Message-ID: <000d01c3dcf5$4ebb45a0$3a8efea9@(protected)> Content-Type: text/plain; charset="iso-8859 (See http://iso-8859.ora-code.com)-1"
Hello,
just two little things to show:
I wrote a little rectangular-vectorizer because i was sick of generating little rect-logos via 3d applications. This one reads graphics, builds meshes and optimizes them.
http://www.marune.de/taumel/dreidee/vectorizer/
Another shorty from last week. I've seen such a thing on a japanese site. But it was rather slow...so here is mine.
http://www.marune.de/taumel/dreidee/molecule/
Greetings,
taumel
-- ---- ---- ---- ---- ---- --
__ ____ ____ ____ ____ ____ ____ ____ ____ ____ Dir3d-l mailing list Dir3d-l@(protected) http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l
End of Dir3d-l Digest, Vol 8, Issue 23 **************************************
|
|
 |