Home | Profile | Active Topics | Members | Search | FAQ
Save Password
Forgot your Password?

 All Forums
 Materials in DX8

Note: You must be registered in order to post a reply.

Format Mode:
Format: BoldItalicizedUnderlineStrikethrough Align LeftCenteredAlign Right Horizontal Rule Insert HyperlinkInsert EmailInsert Image Insert CodeInsert QuoteInsert List Spell Checker

* Forum Code is ON
Smile [:)] Big Smile [:D] Cool [8D] Blush [:I]
Tongue [:P] Evil [):] Wink [;)] Clown [:o)]
Black Eye [B)] Eight Ball [8] Frown [:(] Shy [8)]
Shocked [:0] Angry [:(!] Dead [xx(] Sleepy [|)]
Kisses [:X] Approve [^] Disapprove [V] Question [?]

   Insert an File
Check here to include your profile signature.
Check here to subscribe to this topic.

T O P I C    R E V I E W
Sr. Guapo Posted - Jun 01 2004 : 10:05:09 AM
Hello again...

OK, I am currently designing a game based in outer space. I found it neccesary to create a particle system to represent the stars... However, when I render the stars, they are alway a light blue color, as opposed to white. I discovered this was because the previous object I rendered had a blue material. My question is, how do you "unset" a material, because I cannot for the life of me figure it out.

PS - I have also tried creating a white material, but I get errors when I do that...
11   L A T E S T    R E P L I E S    (Newest First)
Sr. Guapo Posted - Jun 01 2004 : 8:28:46 PM
OK, just saw your second comment VBBR... yup, I think that did it... thanks
Sr. Guapo Posted - Jun 01 2004 : 8:21:32 PM
I am getting the error too... It is getting really annoying... "Unterminated String Constant, do you wish to debug?" or something. I hate VS .NET, every time I hit an error on a page, it has to ask if I want to debug it...

Back to the topic: When VB gives me the error, it actually highlights the "ambient" (or whatever) parameter. I just don't think you are allowed to directly set the value.

I implemented a *VERY* low tech solution... I made another material (completely white) when I made the object (in Milkshape3D), then, through trial and error, found its index and set that immediatly before rendering the stars. It seems to work, though nobody else could understand the code...
VBBR Posted - Jun 01 2004 : 8:14:04 PM
Oh found it. You need to pass a "D3DCOLORVALUE" type. So define a variable of this type and define the a,r,g,b components separately.
VBBR Posted - Jun 01 2004 : 8:11:16 PM
Hum... what error?
masterbooda Posted - Jun 01 2004 : 7:30:19 PM
One more thing, did anybody else get that error when entering vbgamer, I have noticed that it stopped when I wrote this last comment, I am wondering if the code snippets are causing that, because all the forum posts have those little tooltips... maybe it was just me...

DaBooda Out...
masterbooda Posted - Jun 01 2004 : 7:27:44 PM
Have you tried D3DColorARGB(Alpha, Red, Green, Blue)... this is what I use to set up colors in DirectX8, it has worked in every situation I've run in to... but there are exceptions..

DaBooda out...
Sr. Guapo Posted - Jun 01 2004 : 11:30:02 AM
Oh yeah... I have also tried

D3DDevice.setMaterial Nothing  

but that did not work either, I got a "ByRef Type Mismath" or something to that effect...
Sr. Guapo Posted - Jun 01 2004 : 11:25:39 AM
Well I know it was wrong... I can't figure out how to set the ambient/diffuse/emissive/power/specular properties. I tries RGB, Hex codes, even the native vb Colors (vbWhite...). I got an error saying "type mismatch" at the line where I tried to set them... I don't think you can just do

BlankMaterial.ambient = &HFFFFFF  

or whatever... Is there a special function in the D3DX library
VBBR Posted - Jun 01 2004 : 11:14:19 AM
What's the code for creating the white material?
Sr. Guapo Posted - Jun 01 2004 : 10:59:36 AM

      'Draw The Stars  
            D3DDevice.SetVertexShader FVF_PARTICLEVERTEX  
            D3DDevice.SetRenderState D3DRS_ALPHABLENDENABLE, 1  
            D3DDevice.SetRenderState D3DRS_ZWRITEENABLE, 0  
            D3DDevice.SetTexture 0, StarTexture  
            D3DDevice.SetTransform D3DTS_WORLD, matStars  
            D3DDevice.DrawPrimitiveUP D3DPT_POINTLIST, NumOfStars, _  
                 StarVertexList(0), Len(StarVertexList(0))  
            D3DDevice.SetRenderState D3DRS_ZWRITEENABLE, 1  
            D3DDevice.SetRenderState D3DRS_LIGHTING, True
            D3DDevice.SetTransform D3DTS_WORLD, matShip  
            For I = 0 To nMaterials - 1  
                  '//Setup the renderer for this part of the mesh  
                  D3DDevice.SetMaterial MeshMaterials(I)  
                  D3DDevice.SetTexture 0, MeshTextures(I)  
                  '//Draw the current part of the mesh  
                  Mesh.DrawSubset I  
            Next I  
            D3DDevice.SetTransform D3DTS_WORLD, matWorld  

Hope that helps...
ardman Posted - Jun 01 2004 : 10:29:17 AM
Can you not post the code of when you're rendering the objects?

VBGamer © Go To Top Of Page
This page was generated in 0.17 seconds. Snitz Forums 2000

Copyright © 2002 - 2004 Eric Coleman, Peter Kuchnio , et. al.