欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 明星 > OpenGL3.3_C++_Windows(3)

OpenGL3.3_C++_Windows(3)

2025/3/17 22:02:48 来源:https://blog.csdn.net/sengyongan/article/details/139563870  浏览:    关键词:OpenGL3.3_C++_Windows(3)

 GLSL Shader基础 

  1. Shader(把输入转化为输出,运行在GPU上):首先要声明版本,有各自的入口点main()
  2. 顶点数据上限:16个包含4分量:16 * 4 = 64个分量
  3. 向量:容器vec。使用.x.y.z.w,颜色使用rgba,纹理坐标使用stpq,
  4. 输入和输出:inout
  5. uniform是全局的(Global)。:全局:生命周期,唯一性,只存在一份,一直保存数据,直到更新。
  6. uniform变量为空的,先启用glUseProgram,glGetUniformLocation查询uniform 的位置值,glUniform4f传递我们的数据4个float

抽象(renderer,shader,unifrom) 

  1. 导入glm库的include
  2. ❌:分解shader文件时,找不到路径,触发异常处理
  3. 解:Windows 系统中,\ 是默认的目录分隔符,而 / 通常用作命令行参数的分隔符,使用 \\被视为普通字符,那么当传入绝对路径,应写为\\

配置premake5.lua

premake5.exe vs2022(生成2022sln的window工程)
  1. 下载premake-5.0.0-beta2-windows.zip,必须也拷贝LICENSE.txt许可证才行
  2. premake:编写简单的Lua脚本来描述项目的配置和构建等选项。Premake.exe

    会根据这些脚本生成特定平台(如 Windows、Linux、Mac 等)的工程文件(例如sln)和构建脚本
  3. Tokens:根据不同的平台和配置自动调整自身,和vs中的属性配置差不多,是一个意思。wks工作区,prj项目,cfg项目配置,比如%{cfg.buildcfg}(当前的构建名称(debug||release……)

  4. ..返回上级目录,"cfg.buildtarget" (dll)or "cfg.linktarget"(lib)还有一些字段。

  5. {COPY}复制命令

  6. 运行时库(非用户自己写的库或其他第三方库):MT多线程静态库、MTd多线程静态调试库、MD多线程动态库、MDd多线程动态调试库

  7. ,git clone,可以克隆原来的版本到本地,有本地.git仓库,单纯下载zip并不可以。

  8. ❌:错误,出现这种情况,根据output的错误信息,得出是运行时库不匹配的问题,更改为MDT。

  9. 对于无法找到glfw3.lib,需要添加lib的库目录,在lua中libdirs。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词