1.0 KiB
1.0 KiB
OpenGLDevice::CreateTexture
RHITexture* CreateTexture(const TextureDesc& desc) override;
RHITexture* CreateTexture(const TextureDesc& desc, const void* initialData, size_t initialDataSize, uint32_t rowPitch = 0) override;
作用
创建 OpenGL 纹理对象;可选地带一份初始数据。
当前实现行为
无初始数据路径
- 根据
TextureType选择OpenGLTextureType - 把抽象
Format转为OpenGLFormat - 调用
OpenGLTexture::Initialize(...) - 设置抽象层格式字段
带初始数据路径
- 会先
MakeContextCurrent() - 只在当前上下文可用时继续
- 初始化成功后把纹理状态设为
ResourceStates::PixelShaderResource
注意事项
- 带初始数据路径显式保证了上下文当前;无初始数据路径则默认假设当前上下文已经可用
rowPitch和initialDataSize当前没有形成复杂的数据上传策略