the one I'm having an issue with is when I send the point light buffer like this with a BufferSize of 240 (being things are sent in chucks of 16)
cbuffer PLightConstantBuffer : register(b1)
{
float4 PL_Pos[4];
float4 PL_Color[4];
float4 PL_Ambient[4];
float PL_Range[4];
float PL_Falloff[4];
int PL_ActiveLightCount;
};
it only reaches the ambient and nothing further is sent (register(b0) and register(b2) are fine though).
now if I change Range and Falloff to a float4 and with a buffer size of 336 like...
cbuffer PLightConstantBuffer : register(b1)
{
float4 PL_Pos[4];
float4 PL_Color[4];
float4 PL_Ambient[4];
float4 PL_Range[4];
float4 PL_Falloff[4];
int PL_ActiveLightCount;
};
everything is fine and all data can be accessed. is something not right about sending an array of floats in the first one(range and falloff)? I just want to understand why I can't send an array of floats if that is the case but and array of float4's isn't a problem. thanks.












