Reflection map anybody

Otterman

Angry Mac User
OK im a great fan of shockwave and director. Lightwave being my 3d weapon of choice, im armed to my teeth with multimedia!

However, this 'shockwave section' is the sad guy at the end of the bar who drinks by himself because he has no friends. Im gonna buy that guy a drink by asking this question!

How do you get that HDRI lighting effect, ie a surface of a model reflect an image, giving the illusion of a surrounding environment.? Is this setup in lightwave or programmed using lingo?

Any pointers, this effect looks soooo cool with glossy paintwork.
 

MentalFish

LScript minion
This will set the first texture in a shader to be a reflection map:
member("3d_member").shader("shiny_surface").textureModeList[1] = #reflection

Play with it and also get this Director plugin to inspect / set the properties of any 3D member and its contents:
http://www.3dpi-director.com/
 

zardoz

Active member
petter, is there a way to control the intensity of the reflection? I'm not even asking for incidence or anything like that...only intensity...
 

Otterman

Angry Mac User
DINKY xtra!

Zardoz I think ive caught you up. The intensity of the reflection is indeed too much. It seems to override the original shaders setup in director.

Ive tinkered with several settings using 3dpi with little success. Now Im guessing here but I would of thought the blendFunctionList would of resolved this....(one of the following,- #multiply, #replace, #blend, #add) but ohh no!

Petterms, you seem to have the answers! Any pointers to where we are going wrong!

Vieva shockwave!
 

Otterman

Angry Mac User
Having created a shader within director, how do I then 'blend' the reflection over that colour ????

Heres the lingo Ive banged out so far.....

-- create a texture from a bitmap member

sky = sprite(me.spriteNum).member.newTexture("sky",#fromCastMember,member("sky"))


----create shader

redShader = sprite(me.spriteNum).member.newShader("Red Shader",#standard)

redShader.textureList = sky
redShader.blendConstantList = 50
redShader.blendFunctionList = #add
redShader.textureModeList = #reflection
redShader.diffuse = rgb("FF0000")


This will work one way or the other, ie- the shader works just fine, so does the reflection, but togerther, the reflection just overrides the shader ????

Any help please, would love to nail this puppy down!
 

Otterman

Angry Mac User
Two hours later and I cracked this one, need to add-

Mymember.shader[MyShaderNo].useDiffuseWithTexture = 1

I thank you and goodnight!
 

Yarg

Game Developer
It also helps to use the channel with the reflection map first and your texture in the next channel. Playing with the stack order changes things quite a bit. Subtle reflections can be acheied by using subtle bmp's - easiest way ;-)

Hope that helps
 

mdoyle

New member
Will need to give this one a try also. I had problems with the blend function. Especially if you are using shadow and luminous layers. WIll look forward to finally trying this out.

Fingers crossed
 

mdoyle

New member
Ah, I realised the problem I am having. I use 2 or 3 texture layers depending on the on whether I have a shadow on layer 2 (over the original colour map) and sometimes even a third luminouse map on the 3rd to over brightenn areas if need be. I will need to mess about so I can add the reflection on the 4th layer generically so that I can use the code for all examples. (I have done that for shadow and lum)

Will let u know how I get on. :D
 

Sam_Horton

New member
If you want to adjust the opacity of your reflection map, then you need to set the blendFunctionList to #blend instead of #add. Changing the blendConstantList value has no effect unless you are using #blend.

Good Luck!
 
Top Bottom