光线追踪-初始光线发射方向(Raster space、NDC space、Screen Space)

2023-11-09 16:59

本文主要是介绍光线追踪-初始光线发射方向(Raster space、NDC space、Screen Space),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

光栅化设备空间的一个像素映射到屏幕空间的流程

在这里插入图片描述
光栅化设备坐标系(Raster space),范围(0,0)~(width,height)
→ \to 标准化设备坐标系(NDC space),范围(0,0)~(1,1)
→ \to 屏幕空间坐标系(Screen space),范围(-1,1)~(1,-1)


生成初始光线的代码如下
在这里插入图片描述

  • x坐标:x + 0.5是Raster space上第一个像素的中点,除以width,转到NDC space,再乘以2,减去1 转到Screen space
  • y坐标同理,但是要做个翻转
  • scale = tan(FOV/2):作为一个缩放因子使用,以此达到控制我们能看到的场景的多少
    • FOV = 90, scale = 1 : 正常视野、无缩放
    • FOV > 90, scale > 1 : 视野大,应该看到场景中更多的场景,相当于把近平面拉大,但是采样光线数不变,发射出去的光线就稍微往四周散开,采样到更多的场景物体。
  • imageAspectRatio:宽高比其实就是宽是高的多少倍,为了保证每个像素是正方形,对x轴进行拉长。由于1280x960,横轴的像素多于纵轴,那么横轴理应比纵轴长一些。

最后其实还要转到世界空间,但由于相机就在原点,看向-z,并且这个近平面就放在z = -1处。
因此方向就是简单的(x,y,z)-(0,0,0)

这篇关于光线追踪-初始光线发射方向(Raster space、NDC space、Screen Space)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/377404

相关文章

SpringBoot如何使用TraceId日志链路追踪

《SpringBoot如何使用TraceId日志链路追踪》文章介绍了如何使用TraceId进行日志链路追踪,通过在日志中添加TraceId关键字,可以将同一次业务调用链上的日志串起来,本文通过实例代码... 目录项目场景:实现步骤1、pom.XML 依赖2、整合logback,打印日志,logback-sp

嵌入式方向的毕业生,找工作很迷茫

一个应届硕士生的问题: 虽然我明白想成为技术大牛需要日积月累的磨练,但我总感觉自己学习方法或者哪些方面有问题,时间一天天过去,自己也每天不停学习,但总感觉自己没有想象中那样进步,总感觉找不到一个很清晰的学习规划……眼看 9 月份就要参加秋招了,我想毕业了去大城市磨练几年,涨涨见识,拓开眼界多学点东西。但是感觉自己的实力还是很不够,内心慌得不行,总怕浪费了这人生唯一的校招机会,当然我也明白,毕业

理解分类器(linear)为什么可以做语义方向的指导?(解纠缠)

Attribute Manipulation(属性编辑)、disentanglement(解纠缠)常用的两种做法:线性探针和PCA_disentanglement和alignment-CSDN博客 在解纠缠的过程中,有一种非常简单的方法来引导G向某个方向进行生成,然后我们通过向不同的方向进行行走,那么就会得到这个属性上的图像。那么你利用多个方向进行生成,便得到了各种方向的图像,每个方向对应了很多

MySQL数据库介绍——初始数据库MySQL

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。  公众号:网络豆云计算学堂 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 目录 写在前面: 一.数据库基础知识 1.什么是数据库 数据库的发展⼤致划分为以下⼏个阶段: 其种类⼤概有3种: 2.表 2.1数据类型 2.2主键 二.数据库技术构成 1.数据库系统 1.2

[SWPUCTF 2021 新生赛]web方向(一到六题) 解题思路,实操解析,解题软件使用,解题方法教程

题目来源 NSSCTF | 在线CTF平台因为热爱,所以长远!NSSCTF平台秉承着开放、自由、共享的精神,欢迎每一个CTFer使用。https://www.nssctf.cn/problem   [SWPUCTF 2021 新生赛]gift_F12 这个题目简单打开后是一个网页  我们一般按F12或者是右键查看源代码。接着我们点击ctrl+f后快速查找,根据题目给的格式我们搜索c

电子发射与气体导电

物理电磁学练习题:电子发射与气体导电 说明: 以下题目考察对电子发射和气体导电基本概念的理解和应用。 1. 解释以下概念:      (a) 热电子发射      (b) 光电效应      © 逸出功      (d) 等离子体 2. 比较并对比热电子发射和光电效应的异同。 3. 钨的逸出功为 4.5 eV。      (a) 计算能够从钨表面发射电子的最长波长光。      (b) 如

无人机执照拿到后怎么就业?方向有哪些?就业率如何?

无人机执照拿到后,就业方向广泛且多样,就业率也呈现出逐年上升的趋势。这主要得益于无人机技术的广泛应用和无人机市场的不断扩大。以下是对无人机执照持有者就业情况的详细分析: 就业方向 1. 无人机飞行操作: 无人机飞手可以从事无人机的起飞、飞行和降落等具体操作,满足不同行业对无人机飞行的需求。 应用领域包括但不限于农业植保、电力巡线、石油管道巡线、航拍、国土资源勘查、应急救援、交通监控

UVA10010(八方向暴力枚举)

Where's Waldorf? Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & %llu 题目链接: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18656 Description Where's Waldo

sobel_dir 方向图和sobel的一些想法

怎么使用呢! 1,通过方向图可以提取 直线 或水平线region区域,提出来的dirregion区域 2,通过sobel的幅度度,分割出变化剧烈的区域 fuduregion 3,两个region相交,可以准确定位幅度范围内+方向的边界 4,sobel算子是可以只做x,y方向的单项幅度图的,sobel_amp在一定场合有特别的用处,值得关注 5,关于大掩码超过3的size,要注意的

为什么From/To space的大小几乎变成 0 了呢?

文章来源 https://hllvm-group.iteye.com/group/topic/39440 一、问题描述 Attaching to process ID 26424, please wait...Debugger attached successfully.Server compiler detected.JVM version is 25.231-b11usi