A collection of Vulkan UBO, SSBO, and Image shader bindings (descriptor set)
RV_API RV_VKImagePtr getRandomTextureArray(RV_Render *r, unsigned int seed, bool interp, int num_layers, int size=64)
Returns an 8b RGBA size^2 2D texture array of size 'num_layers'.
RV_API void generateCubeMips(RV_Render *r, UT_UniquePtr< PXL_Raster > &latlong_image, RV_VKImage *tex, RV_GPUType format_type, int vsize)
Create lower mipmaps for a cubemap texture. image must be a latlong map.
UT_UniquePtr< RV_VKImage > RV_VKImagePtr
RV_API void createLUTTexture(RV_Render *r, const PXL_Lookup *lut, UT_UniquePtr< RV_VKImage > &main_lut, UT_UniquePtr< RV_VKImage > &pre)
RV_API UT_UniquePtr< RV_VKImage > resolveMSTexture(RV_Render *r, RV_VKImage *ms_image)
std::unique_ptr< T, Deleter > UT_UniquePtr
A smart pointer for unique ownership of dynamically allocated objects.
RV_API void setupRaster(RV_VKImage &img, PXL_Raster &raster, bool alloc=true)
RV_API bool matchesRaster(const RV_VKImage &img, const PXL_Raster &raster)
constexpr auto set(type rhs) -> int
RV_API bool setupColorCorrection(RV_Render *r, RV_ShaderProgram *sh, int set_number, const PXL_Lookup *lut, fpreal brightness, fpreal bright_shift, fpreal gamma, fpreal alpha_scale, exint &lut_version, UT_UniquePtr< RV_ShaderVariableSet > &set, UT_UniquePtr< RV_ShaderBlock > &block, UT_UniquePtr< RV_VKImage > &main_lut_image, UT_UniquePtr< RV_VKImage > &pre_lut_image)
Create resources for color correction in HOUcolorCorrect().
RV_API void cleanupShaders()
HUSD_API const char * raster()
Handle to the main interface of Vulkan.
RV_API bool initShaders(RV_Instance *inst)
UT_UniquePtr< RV_VKImage > RV_VKImagePtr
RV_API RV_VKImagePtr getRandomTexture(RV_Render *r, unsigned int seed, bool interp, int size=64)
Returns an 8b RGBA 64x64 texture with 0-1 random values in all comps.
RV_API RV_VKImagePtr getRandomTexture3D(RV_Render *r, unsigned int seed, bool interp, int size=32)
Returns an 8b RGBA size^3 3D texture with 0-1 random values.