码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • learnOpenGl


    1,入门

    1.1.hello_window :创建一个800x600 的window;

    1.2.hello_window_clear:利用glClearColor()/glclear() 设置窗口颜色;

    2.1.hello_triangle:画一个三角形;
    2.2.1hello_triangle_indexed  :用EBO 画一个三角形;

    2.3.hello_triangle_exercise1:画两个三角形表示一个矩形

    2.4.hello_triangle_exercise2分别用两个VAO/VBO画两个三角形表示一个矩形
    2.5.hello_triangle_exercise3分别用两个VAO/VBO两个片段着色器 画两个三角型;一个三角形为橙色,一个三角形为黄色;

     3.1.shaders_uniform用Uniform 指定片段着色器输出颜色;

      3.2.shaders_interpolation用layout 方式将定点颜色数据传至着色器, 画个一个五彩颜色的三角形.  

    3.3.shaders_class为了方便调用,新建sharder 类;
    3.4.shaders_exercise1将三角型顶点朝下;
    3.5.shaders_exercise2给三角形位置加个偏移;
    3.6.shaders_exercise3将顶点着色器的位置当成片段着色器颜色输出;

    4.1.textures加载一张纹理图片;

    4.2.textures_combined将纹理贴在箱子上;
    4.3.textures_exercise1将箱子上的纹理左右反向;

    4.4.textures_exercise2设置纹理坐标为0-2, 设置纹理绘制为repeat, 生成4个笑脸;

    4.5.textures_exercise3设置纹理坐标位于顶点坐标中间位置;
    4.6.textures_exercise4设置纹理合成透明值;

    5.1.transformations纹理旋转

    5.2.transformations_exercise1旋转+平移

     5.2.transformations_exercise2旋转+平移+缩放

    6.1.coordinate_systemsmodel + view + projection 坐标系统

    6.2.coordinate_systems_depth立方体贴图,将一个箱子六个面都贴上纹理;

    6.3.coordinate_systems_multiple画十个立方体贴图;

    6.4.coordinate_systems_exercise3画十个立方体贴图,第三的倍数个时进行旋转;

    7.2.camera_keyboard_dt画出立方体贴图,通过按键可浏览不同贴图的位置;

    7.3.camera_mouse_zoom画出立方体贴图,通过鼠标可浏览不同角度位置并可缩放;

    7.4.camera_class定义camera 类,可从不同角度浏览立方体位置;

    7.5.camera_exercise1通过按键可改变浏览位置;
    7.6.camera_exercise2自定义lootAt 矩阵

    2,光照:

    1.colors
    2.1.basic_lighting_diffuse基础光照+漫反射

    2.1.basic_lighting_diffuse
    2.2.basic_lighting_specular基础光照+漫反射+镜面光照

    2.3.basic_lighting_exercise1改变光源的位置
     2.4.basic_lighting_exercise2
    2.5.basic_lighting_exercise3

    3.1.materials :不同材料对光的反射不同。
    3.2.materials_exercise1
    4.1.lighting_maps_diffuse_map
    4.2.lighting_maps_specular_map
    4.3.lighting_maps_exercise2
    4.4.lighting_maps_exercise4
    5.1.light_casters_directional
    5.2.light_casters_point
    5.3.light_casters_spot
    5.4.light_casters_spot_soft
    6.multiple_lights

    6.multiple_lights_exercise1

    3,模型:

    1.model_loading

    4,高级操作:


     1.1.depth_testing :深度测试
    1.2.depth_testing_view : 指定当目标像素小于当前像素, 绘制目标像素;
    2.stencil_testing : 模板测试
    3.1.blending_discard : 将多个纹理进行blending
    3.2.blending_sort : 根据透明值进行blending
    4.face_culling_exercise1
    5.1.framebuffers : 将纹理绑定至framebuffer
    5.2.framebuffers_exercise1 :  将纹理绑定至framebuffer
    6.1.cubemaps_skybox : 天空盒
    6.2.cubemaps_environment_mapping : 立方体贴图
    8.advanced_glsl_ubo :uniform buffer object 多个着色器之间共享变量
    9.1.geometry_shader_houses : 通过画三角形画出一个房子
    9.2.geometry_shader_exploding
    9.3.geometry_shader_normals
    10.1.instancing_quads :画多个重复的实例,glDrawArrayInstanced();
    10.2.asteroids : 绘制小行星
    10.3.asteroids_instanced
    11.1.anti_aliasing_msaa:抗锯齿
    11.2.anti_aliasing_offscreen

    5 高级光照:


    1.advanced_lighting
    2.gamma_correction
    3.1.1.shadow_mapping_depth
    3.1.2.shadow_mapping_base
    3.1.3.shadow_mapping
    3.2.1.point_shadows
    3.2.2.point_shadows_soft
    3.3.csm
    4.normal_mapping
    5.1.parallax_mapping
    5.2.steep_parallax_mapping
    5.3.parallax_occlusion_mapping
    6.hdr
    7.bloom
    8.1.deferred_shading
    8.2.deferred_shading_volumes
    9.ssao


    6,pbr:


     1.1.lighting
      1.2.lighting_textured
     2.1.1.ibl_irradiance_conversion
    2.1.2.ibl_irradiance
    2.2.1.ibl_specular
    2.2.2.ibl_specular_textured

     7, in practice:


    1.debugging
     2.text_rendering
    3.2d_game

  • 相关阅读:
    鉴源实验室 | 自动驾驶传感器攻击研究
    Ubuntu中kill完全卡死的Pycharm【没办法关闭】
    算法设计~
    跑步耳机哪种好,推荐五款在运动中值得佩戴的耳机推荐
    vue Echarts饼图指定颜色与数据对应
    超越 Transformer开启高效开放语言模型的新篇章
    精彩分享 | 欢乐游戏 Istio 云原生服务网格三年实践思考
    【lesson2】数据库的库操作
    Nodejs 第十六章(ffmpeg)
    Easyx介绍与安装
  • 原文地址:https://blog.csdn.net/DMC111qwf/article/details/128187441
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号