mirror of
https://github.com/panda3d/panda3d.git
synced 2025-09-30 08:44:19 -04:00
patch from teedee for dx9 custom vertex data
This commit is contained in:
parent
560221d566
commit
9d5e107aa4
@ -629,6 +629,9 @@ update_shader_vertex_arrays(CLP(ShaderContext) *prev, GSG *gsg, bool force) {
|
||||
case 3:
|
||||
vertex_element_array->add_uvw_vertex_element(array_index, start, slot);
|
||||
break;
|
||||
case 4:
|
||||
vertex_element_array->add_xyzw_vertex_element(array_index, start, slot);
|
||||
break;
|
||||
default:
|
||||
dxgsg9_cat.error() << "VE ERROR: invalid number of vertex texture coordinate elements " << num_values << "\n";
|
||||
break;
|
||||
|
@ -208,6 +208,24 @@ void VertexElementArray::add_uvw_vertex_element(int stream_index, int offset, in
|
||||
_total_elements++;
|
||||
}
|
||||
|
||||
void VertexElementArray::add_xyzw_vertex_element(int stream_index, int offset, int texture_stage) {
|
||||
if (_total_elements >= _maximum_vertex_elements) {
|
||||
return;
|
||||
}
|
||||
|
||||
LPD3DVERTEXELEMENT9 vertex_element = &_vertex_element_array[_total_elements];
|
||||
|
||||
vertex_element->Stream = stream_index;
|
||||
vertex_element->Offset = offset;
|
||||
vertex_element->Type = D3DDECLTYPE_FLOAT4;
|
||||
vertex_element->Method = D3DDECLMETHOD_DEFAULT;
|
||||
|
||||
vertex_element->Usage = D3DDECLUSAGE_TEXCOORD;
|
||||
vertex_element->UsageIndex = texture_stage;
|
||||
|
||||
_total_elements++;
|
||||
}
|
||||
|
||||
bool VertexElementArray::add_end_vertex_element(void) {
|
||||
if (_total_elements >= _maximum_vertex_elements) {
|
||||
return false;
|
||||
|
@ -50,6 +50,7 @@ public:
|
||||
void add_u_vertex_element (int stream_index, int offset, int texture_stage);
|
||||
void add_uv_vertex_element (int stream_index, int offset, int texture_stage);
|
||||
void add_uvw_vertex_element (int stream_index, int offset, int texture_stage);
|
||||
void add_xyzw_vertex_element (int stream_index, int offset, int texture_stage);
|
||||
|
||||
bool add_end_vertex_element (void);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user