Sign in to follow this  
Kurt-olsson

Textxures with color

Recommended Posts

SOLVED IT AS I POSTED IT!
CORRECT ANSWER IS:

dev->CreateInputLayout(ied, 4, VS->GetBufferPointer(), VS->GetBufferSize(), &pLayout);
I forgot to add upp to 4 instead of 3.

I don´t like all manual counting to get stuff to work! =(


I must be missing something big as i don´t understand how to add color on my textures???
I try to add "COLOR" in my layout
i also add D3DXCOLOR in my Vertex
But i cant access these color values in my shader?

i can add an extra float in the end and access it by textcoord[2], but everything else failes.


T
[source lang="cpp"][/source]


Here is my shader, i comment the code so you can see what i am trying to do

[source lang="cpp"]cbuffer ConstantBuffer
{
float4x4 final;
float4x4 rotation; // the rotation matrix
float4 lightvec; // the light's vector
float4 lightcol; // the light's color
float4 ambientcol; // the ambient light's color
}

Texture2D Texture;
SamplerState ss;

struct VOut
{
float4 color : COLOR;
float2 texcoord : TEXCOORD; // texture coordinates
float4 position : SV_POSITION;
};

VOut VShader(float4 position : POSITION, float4 normal : NORMAL, float2 texcoord : TEXCOORD, //I WANT THIS ONE ALSO float4 color : COLOR) //BUT AS SOON AS I ADD THIS, THE RENDERING IS BLANK
{
VOut output;

output.position = mul(final, position);
//COLOR IS SET BY BUFFER, NOT MY VERTEX, I WANT TO HAVE BOTH.
// set the ambient light
output.color = ambientcol;

// calculate the diffuse light and add it to the ambient light
float4 norm = normalize(mul(rotation, normal));
float diffusebrightness = saturate(dot(norm, lightvec));
output.color += lightcol * diffusebrightness;

output.texcoord = texcoord; // set the texture coordinates, unmodified

return output;
}

float4 PShader(float4 color : COLOR, float2 texcoord : TEXCOORD) : SV_TARGET
{
//HERE THE color value allready should be added?

float4 newcolor = color * Texture.Sample(ss, texcoord);
newcolor.a = 0.5f;
return newcolor;
}[/source] Edited by KurtO

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this