Files
workinf_Blender_Wasm/blender-5.2.0/extern/opensubdiv-source/examples/common/mtlPtexMipmapTexture.h
2026-08-12 04:47:48 -04:00

42 lines
1.1 KiB
Objective-C

//
// Copyright 2013 Pixar
//
// Licensed under the terms set forth in the LICENSE.txt file available at
// https://opensubdiv.org/license.
//
#ifndef OPENSUBDIV_EXAMPLES_MTL_PTEX_MIPMAP_TEXTURE_H
#define OPENSUBDIV_EXAMPLES_MTL_PTEX_MIPMAP_TEXTURE_H
#include <opensubdiv/osd/mtlCommon.h>
#include <opensubdiv/osd/nonCopyable.h>
#include <Ptexture.h>
@protocol MTLBuffer;
@protocol MTLTexture;
@class MTLTextureDescriptor;
class MTLPtexMipmapTexture : OpenSubdiv::Osd::NonCopyable<MTLPtexMipmapTexture> {
public:
static MTLPtexMipmapTexture * Create(OpenSubdiv::Osd::MTLContext * deviceContext,
PtexTexture * reader,
int maxLevels = 10);
static const char* GetShaderSource();
id<MTLBuffer> GetLayoutBuffer() const { return _layout; }
id<MTLTexture> GetTexelsTexture() const { return _texels; }
private:
MTLPtexMipmapTexture();
id<MTLBuffer> _layout;
id<MTLTexture> _texels;
MTLTextureDescriptor* _textureDescriptor;
};
#endif // OPENSUBDIV_EXAMPLES_MTL_PTEX_TEXTURE_H