Kanzi 3.3 迁移指南

Kanzi 3.3 迁移指南包含信息,并提供将现有 Kanzi 应用程序从之前的 Kanzi 版本移植的说明。

Kanzi Engine 更改

  • RenderTarget 类现在称为 GraphicsOutput。

  • 在早期版本的 Kanzi 中,状态管理器对整数、资源 ID 或字符串属性的转换是立即的,现在这些转换会花费转换中指定的时间。要保持旧行为,请将转换类型设置为 Step,并将转换缓动模式设置为 Ease out。

  • 在 <KanziWorkspace>/Engine/include/user/include/kanzi 中,graphics_2d 和 graphics_3d 目录现在是 graphics2d 和 graphics3d。

目录结构

renderer.hpp

Kanzi 3.2.2

Kanzi 3.3

bool linkShader(const KzcMemoryManager* memoryManager, unsigned int programHandle, kzString shaderName);

bool linkShaderProgram(unsigned int programHandle, kzString shaderName);

bool compileSourceShader(const KzcMemoryManager* memoryManager, Shader::ShaderType shaderType, unsigned int shaderHandle, kzString shaderCode, kzString shaderName);

bool compileSourceShader(Shader::ShaderType shaderType, unsigned int shaderHandle, string_view shaderCode, string_view shaderName);

bool programBinary(const KzcMemoryManager* memoryManager, unsigned int program, unsigned int formatConstant, const void* data, unsigned int dataSize);

bool deployProgramBinary(unsigned int program, unsigned int binaryFormat, const void* data, unsigned int dataSize);

void deleteShader(unsigned int programHandle, unsigned int vertexShaderHandle, unsigned int fragmentShaderHandle);

void deleteShaderProgram(unsigned int programHandle);

void deleteShader(unsigned int shaderHandle);

bool compileSourceShader(Shader::ShaderType shaderType, unsigned int shaderHandle, string_view shaderCode, string_view shaderName);

bool compileSourceShader(ShaderType shaderType, unsigned int shaderHandle, const char* const shaderCode, string_view shaderName);

bool deployProgramBinary(unsigned int program, unsigned int binaryFormat, const void* data, unsigned int dataSize);

bool deployBinaryProgram(unsigned int program, unsigned int binaryFormat, const void* data, unsigned int dataSize);

bool isGlShaderBinaryFormatSupported(unsigned int glShaderBinaryFormat) const;

bool isShaderBinaryFormatSupported(unsigned int glShaderBinaryFormat) const;

bool isGlProgramBinaryFormatSupported(unsigned int glProgramBinaryFormat) const;

bool isProgramBinaryFormatSupported(unsigned int glProgramBinaryFormat) const;

void setBinaryShaderFormatIdentifier(kzString binaryShaderID, unsigned int binaryFormatGPUConstant);

已移除。

kzString getBinaryShaderFormatIdentifier() const;

已移除。

void setProgramBinaryExtensionEnabled(bool enabled);

已移除。

bool programBinaryExtensionIsEnabled() const;

已移除。

不可用。

enum ProgramBinary

不可用。

ProgramBinary getProgramBinarySupport() const;

不可用。

bool isGlShaderBinaryFormatSupported(unsigned int glShaderBinaryFormat) const;

不可用。

bool isGlProgramBinaryFormatSupported(unsigned int glProgramBinaryFormat) const;

不可用。

在 enum Information 中的新值:InformationProgramBinarySupport

shader.hpp

Kanzi 3.2.2

Kanzi 3.3

void initializeFromMemory(kzString vertexShader, kzString fragmentShader, kzUint vertexAttributeCount, const kzString* vertexAttributes);

void initializeFromMemory(string_view vertexShader, string_view fragmentShader, vector<string> const& attributes);

void initializeFromMemory(string_view vertexShader, string_view fragmentShader, vector<string> const& attributes);

void initializeFromMemory(const char* const vertexShaderSourceSource, const char* const fragmentShaderSourceCode, unsigned int attributeCount, const char* const* attributes);

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int dataSize, void* data, vector<string> const& attributes);

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int dataSize, void* data, unsigned int attributeCount, const char* const* attributes);

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int vertexDataSize, void* vertexData, unsigned int fragmentDataSize, void* fragmentData, vector<string> const& attributes);

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int vertexDataSize, void* vertexData, unsigned int fragmentDataSize, void* fragmentData, unsigned int attributeCount, const char* const* attributes);

void compile(const KzcMemoryManager* memoryManager, Renderer* renderer, kzString shaderCode, ShaderType shaderType, kzString shaderName, unsigned int* out_handle, bool* out_compileSuccess);

已移除。请改用 kanzi::Renderer。

不可用。

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int dataSize, void* data, vector<string> const& attributes);

不可用。

void initializeFromMemory(unsigned int shaderBinaryFormat, unsigned int vertexDataSize, void\* vertexData, unsigned int fragmentDataSize, void\* fragmentData, vector<string> const& attributes);

另请参阅

Kanzi 3.3 发行说明

已知问题