MCPcopy Create free account
hub / github.com/Kitware/VTK / GetTextureFormatFromImageData

Method GetTextureFormatFromImageData

Rendering/WebGPU/vtkWebGPUTexture.cxx:393–441  ·  view source on GitHub ↗

------------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

391
392//------------------------------------------------------------------------------
393vtkWebGPURenderTextureDeviceResource::TextureFormat vtkWebGPUTexture::GetTextureFormatFromImageData(
394 int numComponents, int dataType)
395{
396 switch (numComponents)
397 {
398 case 1:
399 switch (dataType)
400 {
401 case VTK_UNSIGNED_CHAR:
402 return vtkWebGPURenderTextureDeviceResource::R8_UNORM;
403 case VTK_UNSIGNED_SHORT:
404 return vtkWebGPURenderTextureDeviceResource::R16_UINT;
405 case VTK_FLOAT:
406 return vtkWebGPURenderTextureDeviceResource::R32_FLOAT;
407 default:
408 vtkErrorMacro("Unsupported data type for single component texture: " << dataType);
409 return vtkWebGPURenderTextureDeviceResource::R8_UNORM;
410 }
411 case 2:
412 switch (dataType)
413 {
414 case VTK_UNSIGNED_CHAR:
415 return vtkWebGPURenderTextureDeviceResource::RG8_UNORM;
416 case VTK_UNSIGNED_SHORT:
417 return vtkWebGPURenderTextureDeviceResource::RG16_UINT;
418 case VTK_FLOAT:
419 return vtkWebGPURenderTextureDeviceResource::RG32_FLOAT;
420 default:
421 vtkErrorMacro("Unsupported data type for single component texture: " << dataType);
422 return vtkWebGPURenderTextureDeviceResource::RG8_UNORM;
423 }
424 case 4:
425 switch (dataType)
426 {
427 case VTK_UNSIGNED_CHAR:
428 return vtkWebGPURenderTextureDeviceResource::RGBA8_UNORM;
429 case VTK_UNSIGNED_SHORT:
430 return vtkWebGPURenderTextureDeviceResource::RGBA16_UINT;
431 case VTK_FLOAT:
432 return vtkWebGPURenderTextureDeviceResource::RGBA32_FLOAT;
433 default:
434 vtkErrorMacro("Unsupported data type for single component texture: " << dataType);
435 return vtkWebGPURenderTextureDeviceResource::RGBA8_UNORM;
436 }
437 default:
438 vtkErrorMacro("Unsupported number of components: " << numComponents);
439 return vtkWebGPURenderTextureDeviceResource::RGBA8_UNORM;
440 }
441}
442
443//------------------------------------------------------------------------------
444void vtkWebGPUTexture::PostRender(vtkRenderer* renderer)

Callers 1

LoadMethod · 0.95

Calls

no outgoing calls

Tested by

no test coverage detected