How to define the channels and data types of vtkTexture

The image data I input has already been specified with the data type and number of channels, but when I use vtkActor to input textures, I use RenderDoc to capture them, and I find that the uploaded textures are always parsed as R8G8B8A8 type. why?

auto imageData = vtkSmartPointer<vtkImageData>::New();
imageData->SetDimensions(size[0], size[1], 1);
imageData->AllocateScalars(VTK_FLOAT, 1);

auto texture= vtkSmartPointer<vtkTexture>::New();
texture->SetInputData(imageData);

bodyActor->GetProperty()->SetTexture("texture", texture);

Hello,

My two cents: I believe that’s due the way vtkTexture was designed: always RGBA, 8 bits per channel, regardless of the image source settings.

best,

PC

I feel the same way, but I found that its internal shadowMap can be set to 24 bits by itself