Jump to content
  • Advertisement
Sign in to follow this  

Texture and diffuse Color; Other minor question

This topic is 2095 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

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



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

//Custom FVF

//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



For A



For B



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

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

Share this post

Link to post
Share on other sites

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.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!