Advertisement

glslcc:基于SPIRV-cross和glslang的GLSL交叉编译器工具(支持GLSL转HLSL、MSL、GLES2等)

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:ZIP


简介:
Glslcc是一款强大的GLSL交叉编译工具,采用SPIRV-cross与glslang技术,提供从GLSL到HLSL、Metal Shader Language及OpenGL ES 2.0等多种着色语言的转换功能。 glslcc 是一个用于GLSL着色器语言的交叉编译器工具,它可以将 GLSL 代码转换为 HLSL、Metal(MSL)、GLES 和其他版本的 GLSL(如 GLSL 330, GLSL 400 等)。它通过解析和编译 SPIR-V 来实现这一功能。 **特性包括:** - 支持顶点着色器、片段着色器及计算着色器。 - 提供展平的UBO(统一缓冲对象),适用于ES2版本的着色器。 - 可以显示预处理器的结果,帮助解决外部工具中的着色器依赖性问题。 - 允许添加定义和包含目录,并支持 JSON 格式的着色器反射数据输出。 - 支持将所有管道着色器(包括顶点与片段)及其反射数据输出为单个文件或.c 文件变量格式,便于集成到项目中使用。 **此外:** glslcc 还可以生成本机二进制文件格式(.sgs),该文件包含整个管线的所有着色器和相关的反射信息。这种灵活性使得 glslcc 成为了跨平台开发中的一个强大工具,能够同时支持 GLES2 和 GLES3 着色器,并允许输出到不同版本的 GLSL 代码中。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • glslccSPIRV-crossglslangGLSLGLSLHLSLMSLGLES2
    优质
    Glslcc是一款强大的GLSL交叉编译工具,采用SPIRV-cross与glslang技术,提供从GLSL到HLSL、Metal Shader Language及OpenGL ES 2.0等多种着色语言的转换功能。 glslcc 是一个用于GLSL着色器语言的交叉编译器工具,它可以将 GLSL 代码转换为 HLSL、Metal(MSL)、GLES 和其他版本的 GLSL(如 GLSL 330, GLSL 400 等)。它通过解析和编译 SPIR-V 来实现这一功能。 **特性包括:** - 支持顶点着色器、片段着色器及计算着色器。 - 提供展平的UBO(统一缓冲对象),适用于ES2版本的着色器。 - 可以显示预处理器的结果,帮助解决外部工具中的着色器依赖性问题。 - 允许添加定义和包含目录,并支持 JSON 格式的着色器反射数据输出。 - 支持将所有管道着色器(包括顶点与片段)及其反射数据输出为单个文件或.c 文件变量格式,便于集成到项目中使用。 **此外:** glslcc 还可以生成本机二进制文件格式(.sgs),该文件包含整个管线的所有着色器和相关的反射信息。这种灵活性使得 glslcc 成为了跨平台开发中的一个强大工具,能够同时支持 GLES2 和 GLES3 着色器,并允许输出到不同版本的 GLSL 代码中。
  • Golang-CrossCGOGo语言
    优质
    Golang-Cross是一款专为Go开发者设计的交叉编译工具,它利用CGO技术简化了跨平台构建过程,支持多种目标系统架构。 戈朗克罗斯 Docker容器可以对包含cgo支持的Go软件包进行交叉编译(包括Linux、Windows、macOS、ARM和ARM64)。 Docker映像可以在Docker Hub上找到,使用以下命令拉取: ``` docker pull gorenggolang-cross docker pull gorenggolang-cross-builder ``` 要构建自己的图像,请先按照指南操作。首先可选地构建基础映像: ``` docker build -f Dockerfile_builder -t gorenggolang-cross-builder:1.15.1 . ``` 然后,根据需要建立跨语言的图像(例如使用特定版本和SHA值): ``` docker build --build-arg GO_VERSION=1.16.2 --build-arg GOLANG_DIST_SHA=542e936b19542e62679766194364f45141fde55169db2d8d01046 . ```
  • VSCode GLSL Canvas:实时WebGL预览 для GLSL着色
    优质
    VSCode GLSL Canvas是一款集成在Visual Studio Code中的实时WebGL预览插件,专为GLSL着色器开发者设计,提供快速、直观的代码可视化反馈。 ### vscode-glsl-canvas 通过提供“Show glslCanvas”命令,该扩展程序可以在VSCode中打开GLSL着色器的实时WebGL预览。 它使用了一个经过改进和优化版本的JavaScript库来实现这一功能。 现在支持WebGL2。只需在文件的开头添加`#version 300 es`即可启用WebGL2上下文。 该扩展还支持带有相对路径的嵌套包含,使代码更加灵活高效。 要在macOS上运行,请使用⇧P快捷键,在Windows上则使用ctrl+⇧P,然后输入“Show glslCanvas”命令以显示片段着色器的全屏预览。 ### 特性 - 支持WebGL和WebGL2。通过在文件的第一行添加`#version 300 es`来自动创建WebGL2上下文。 - 集成错误处理,支持代码高亮显示以便于调试。 - 提供多种绘图模式:flat, box, sphere, torus 和 mesh,默认使用网格进行渲染。 - 支持加载和解析`.obj`格式的网格文件。
  • GLSL Essentials.pdf
    优质
    《GLSL Essentials》是一本深入浅出介绍OpenGL着色语言(GLSL)基础的教程书籍,适合游戏开发者和图形程序员学习使用。书中涵盖了从入门到高级的各种知识点,帮助读者掌握现代图形编程技术。 《GLSL essentials》介绍GLSL语言的基本知识,书中不包含OpenGL的源代码,因此对于不了解OpenGL的读者来说,在下载前需要谨慎考虑。
  • GLSL教程_文(GLSL_Tutorial)pdf
    优质
    《GLSL教程》是一份详细的PDF文档,提供了对OpenGL着色语言(GLSL)全面而深入的介绍和指导。适合初学者到高级用户参考学习。 GLSL教程_GLSL_Tutorial译文.pdf是一本学习着色器语言的教程。
  • VSCode-GLSL:适用Visual Studio CodeGLSL语法插件
    优质
    VSCode-GLSL是一款专为Visual Studio Code设计的插件,旨在提供全面的GLSL(OpenGL着色语言)支持,包括语法高亮、代码补全和错误检测等功能。 VS Code的GLSL语法插件vscode-glsl是专为Visual Studio Code设计的一款轻量级扩展,用于提供GLSL(OpenGL着色语言)的语法高亮功能。此插件借鉴了Sublime Text3中广受好评的GLSL语法包中的许多表达式,提供了目前最佳之一的GLSL语法体验。 尽管该扩展仍处于早期开发阶段,在某些情况下可能会遇到一些问题,但它已经为用户提供了一些重要的特性: - GLSL代码高亮显示 - 支持Minecraft材质包中的特定语法规则(例如/* DRAWBUFFERS:0 */输出) 以下是使用Monokai颜色主题的语法突出示例图。 在开发过程中,已对Vulkan内置类型(i|u)?texture[1-3]D(Array)?进行了添加,并根据OpenGL Shading Language 4.6文档更新了一些修饰符。
  • SPIRV-Cross:一款实用与库,SPIR-V上反射及高级语言
    优质
    SPIRV-Cross是一款功能强大的开源库和命令行工具,它能够在SPIR-V中间表示语言上实现高效的代码反射以及与其他高级编程语言间的互译,广泛应用于跨平台的图形API开发。 SPIRV-Cross是一款用于解析SPIR-V并将其转换为其他着色器语言的工具。 其主要特征包括: - 将SPIR-V转换成可读、可用且高效的GLSL。 - 将SPIR-V转换成可读、可用且高效的金属着色语言(MSL)。 - 将SPIR-V转换成可读、可用且高效的HLSL。 - 将SPIR-V转换为用于调试的C++代码[不建议使用]。 - 将SPIR-V转为JSON反射格式[实验性功能]。 此外,其反射API简化了Vulkan管道布局的创建,并支持修改和调整OpDecorations。该工具适用于顶点、片段、细分、几何以及计算着色器等多种类型的着色器。 SPIRV-Cross的目标是生成看起来像由人工编写的GLSL或MSL代码,而不是笨拙且难以理解的类似于IR汇编语言的输出。 需要注意的是,在此阶段,虽然大多数功能已经完整实现,但可能仍有一些晦涩难懂的GLSL特性尚未得到支持。
  • libcurlhttps参数
    优质
    本文章介绍了如何在不同平台间进行编译时配置libcurl以支持HTTPS协议的方法和相关参数设置。通过详细的步骤说明和示例,帮助开发者解决跨平台开发中遇到的问题。 支持HTTPS的libcurl交叉编译参数包括我使用的libcurl和OpenSSL版本,在3516D和3518E设备上验证成功。这仅是配置参数,并非源代码。
  • Tiny4412
    优质
    简介:本文介绍了针对ARM架构Tiny4412开发板的Linux系统构建交叉编译环境的方法与步骤,帮助开发者高效地进行应用程序开发。 我们开源了tiny4412交叉编译工具链,希望能帮助大家节省开发时间。