Lecture 02 Recap of CG Basics

news/2024/10/3 6:32:06

Lecture 02 Recap of CG Basics

Graphics Pipeline

光栅化、深度测试、Blinn-Phong模型、纹理映射&插值

OpenGL

总结:每一个pass

  • 定义物体、相机、MVP
  • 定义帧缓冲区、输入输出纹理
  • 定义Vertex Shader / Fragment Shader
  • 渲染

其他的

  • 多趟pass

    如ShadowMap

Shading Languages

Shader Setup

  • 初始化

    • 创建shader
    • 编译shader
    • Attach to program
    • 链接
    • Use program

    program由shader链接组成

  • Debuggering Shaders

    • 以前:NVIDIA Nsight
    • 现在:
      • Nsight Graphics 跨平台,仅限N卡
      • RenderDoc 跨平台,不限制显卡
    • 直接显示颜色,使用ColorPicker
      • 负数加上offset

Rendering Equation 渲染方程

  • 渲染中最重要的方程

    • 描述光线传播

      \[L_o(p,\omega_o)=L_e(p,\omega)+\int_{H^2}f_r(p,\omega_i\rightarrow\omega_o)L_i(p,\omega_i)\cos\theta_id\omega_i\\ 分别为outgoing\ radiance,\ emission,\ BRDF,\ incident\ radiance \]

    • 在实时渲染中

      \[L_o(p,\omega_o)=\int_{\Omega^+}L_i(p,\omega_i)f_r(p,\omega_i,\omega_o)\cos\theta_iV(p,\omega_i)d\omega_i\\ 分别位outgoing\ lighting,\ incident\ lighting(from source),\ (cosine-weighted)BRDF\\ visibility \]

      引入了visibility,实时渲染中更关注“发出的光线”

      • Environment Lighting 环境光

        通过visibility,在环境光中,将实际上的光源和能不能看到分开考虑

      • Global Illumination 全局光照

        GI = 直接光照+间接光照,难点在于间接光照

        实时渲染中一般只考虑One-bounce GI(多几次bounce效果提升越来越不明显)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/55314.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

VulNyx - System

扫描发现 2121是ftp端口 8000 http的一个端口 6379redis端口爆破redis的密码爆破出来时bonjour猜测ftp的密码和redis的密码是一样的 尝试用密码去爆出ftp的用户名报出来用户名是ben那么根据现有的条件 我们可以利用ftp上传文件 可以用redis module load 加载文件那么我们可以用…

Lecture 03 Real-time Shadows 1

Real-time Shadows 1 Recap: shadow mapping Shadow Mapping2-Pass AlgorithmThe light pass generates the shadow map the camera pass uses the shadow mapAn image-space algorithm好处:无需场景中的几何信息 坏处:导致自遮挡和走样问题PassPass 1: Render from light从光…

[转]高斯-牛顿算法

Gauss-Newton算法是解决非线性最优问题的常见算法之一,最近研读开源项目代码,又碰到了,索性深入看下。本次讲解内容如下:基本数学名词识记 牛顿法推导、算法步骤、计算实例 高斯牛顿法推导(如何从牛顿法派生)、算法步骤、编程实例 高斯牛顿法优劣总结 一、基本概念定义 1.非…

USB TCPM

USB TCPM(Type-C Port Manager)的主要作用是管理 USB Type-C 端口的连接和电源传输协议(USB Power Delivery, PD),确保设备正确识别、协商和切换数据传输和电源供应的角色。TCPM 在 USB Type-C 连接中起到关键管理作用,主要职责包括:管理 USB Type-C 插拔检测:检测设备…

ZBook14灵耀

[cpu]13900H:3000 [LPDDR5 4800]4*8G:550 [IPS 140GF-2L01-14 ] :300 [WD]SN560 1T:400 [板3402]:900

[转]OpenCV4.8 GPU版本CMake编译详细步骤 与CUDA代码演示

导 读 本文将详细介绍如何使用CMake编译OpenCV4.8 CUDA版本并给出Demo演示,方便大家学习使用。 CMake编译详细步骤废话不多说,直接进入正题!【1】我使用的工具版本VS2017 + CMake3.18.2 + OpenCV4.8.0 + CUDA11.2一般情况下VS版本≥VS2017均可,CMake版本≥3.18.2,OpenC…

[图文直播]搭建Zfile私有网盘

特别提醒 部署好后,发现还需要借助外部存储源,而且暂时还没有增加对FTP的支持,那就意味着即便我搭建私有FTP,也暂时无法实现真正的私有网盘。暂时不符合我的要求,仅记录。 前言 以下是ZFile的官网,上面也涉及到了搭建方法 https://docs.zfile.vip/install/os-windows 此次…

gcc/g++编译

gcc编译编译工具链我们写程序的时候用的都是集成开发环境 (IDE: Integrated Development Environment),集成开发环境可以极大地方便我们程序员编写程序,但是配置起来也相对麻烦。在 Linux 环境下,我们用的是编译工具链,又叫软件开发工具包(SDK:Software Development Kit)。…