Jump to content

  • Log In with Google      Sign In   
  • Create Account

Texture and diffuse Color; Other minor question


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
1 reply to this topic

#1 noodleBowl   Members   -  Reputation: 229

Like
0Likes
Like

Posted 19 October 2013 - 03:17 PM

Hey All I was wondering if I could get some answers for these questions:

 

Question1

I currently have a custom FVF, vertex structure, and stage setting looking like this

//Custom FVF
CUSTOMFVF = D3DFVF_XYZ | D3DFVF_TEX1 | D3DFVF_DIFFUSE;

//Vertex structure
struct vertex
    {
        float x;
        float y;
        float z;
        D3DCOLOR color;
        float u;
        float v;
    };

//Stage setting
device->SetTextureStageState(0, D3DTSS_COLOROP, D3DTOP_SELECTARG1);
device->SetTextureStageState(0, D3DTSS_COLORARG1, D3DTA_TEXTURE);
device->SetTextureStageState(0, D3DTSS_COLORARG2, D3DTA_DIFFUSE);

And I'm wondering how I can blend the Texture and Diffuse color together so that:

A. Any Alpha in my texture uses the Color set in my vertex points

B. The Texture being used and Color of each vertex point are blended together

 

EG:

For A

blend.png

 

For B

blendB.png

 

Question 2

I currently have a class that needs to use the Direct X device I create, my idea is to just pass a reference to the Direct X device in a init method or the classes constructor.

 

So I have done it like this:

 

In my Header file for my class

//Under the public section, my constrcutor
MyClass(LPDIRECT3DDEVICE9 &device);

//Under private section in the header class file; Normal variable creation
LPDIRECT3DDEVICE9 refDevice;

In my CPP file for my class

//The constructor of my class
MyClass::MyClass(LPDIRECT3DDEVICE9 &device)
{
         refDevice = device;
}

Now I'm wondering is implementation right? I'm I just storing the address to where my Direct X device is or is this really making a copy of my Direct X device?


Edited by noodleBowl, 19 October 2013 - 04:04 PM.


Sponsor:

#2 Tom KQT   Members   -  Reputation: 1621

Like
0Likes
Like

Posted 20 October 2013 - 03:00 AM

Question 1: Sorry I haven't used the fixed-function pipeline (FFP) for a loooong time, so I cannot help you. But I seriously suggest you to try to move to shaders as soon as possible. Not only will you get much bigger flexibility (you won't have to ask how to set the FFP to do something, you'll be able to program it yourself quite easily), but also better "compatibility", because you cannot use FFP with anything above D3D 9.0c. You can still stay with 9.0c if you want, but you should be getting yourself prepared by moving to shaders.

 

Question 2: You're just storing the pointer (4 bytes), you're not making a copy of the device.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS