Jump to content

  • Log In with Google      Sign In   
  • Create Account

Textxures with color


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
No replies to this topic

#1 KurtO   Members   -  Reputation: 229

Like
0Likes
Like

Posted 27 September 2012 - 12:52 PM

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, 27 September 2012 - 12:58 PM.


Sponsor:



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