OpenGL3.3

OpenGL3.3

码农世界 2024-06-18 后端 108 次浏览 0个评论

 GLSL Shader基础 

  1. Shader(把输入转化为输出,运行在GPU上):首先要声明版本,有各自的入口点main()
  2. 顶点数据上限:16个包含4分量:16 * 4 = 64个分量OpenGL3.3
  3. 向量:容器vec。使用.x、.y、.z和.w,颜色使用rgba,纹理坐标使用stpq,
  4. 输入和输出:in和outOpenGL3.3
  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

    OpenGL3.3

    会根据这些脚本生成特定平台(如 Windows、Linux、Mac 等)的工程文件(例如sln)和构建脚本OpenGL3.3
  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。


转载请注明来自码农世界,本文标题:《OpenGL3.3》

百度分享代码,如果开启HTTPS请参考李洋个人博客
每一天,每一秒,你所做的决定都会改变你的人生!

发表评论

快捷回复:

评论列表 (暂无评论,108人围观)参与讨论

还没有评论,来说两句吧...

Top