3D预处理的步骤(关于API,GPU的说明)

3D预处理的步骤(关于API,GPU的说明)

CG在哪里适合?
•视觉计算的各个方面
•更广泛使用计算机图形
CG是Computer Graphics
IP是Image Processing(also image analysis)
CV是Computer Vision(also pattern recognition)
图像可能是真实,合成,多个,视频

例子:
高级:是鸟吗? 是飞机吗? 不,它是…
低级:它是显着的吗?
模式识别:是其中之一

1.计算机图形的使用
•培训和测试:现实世界中的实验可能很昂贵,并且危险的
•设计 - 启用空间/对象在施工前进行调查
•使用科学可视化理解
•增强现有世界 - 将模型与真实的模型混合世界,例如 特殊效果,增强现实
•娱乐和愉悦,例如 游戏,电视和电影,艺术

2.现实世界与综合
•在现实世界中,轻型运输自然发生
照明(Illumination) -> 反射和吸收Reflections and Absorption -> 反射Reflection

在计算机图形中我们必须做:
•几何建模
•定义一组对象并将它们排列在一个场景
•定位合成相机
•定义照明
•计算每个对象的照明
•不同的方法在不同的方法
•将3D场景转换为2D视图
•动画场景
•要求:很多数学和编程

数学
•2D和3D坐标
•向量
•矩阵

3.建模
•3D模型是几何现实世界对象的描述

3.1坐标系和转换
•坐标系用于描述点的位置
•多边形顶点表示为位置向量,例如 (2.0、3.1、0.0)
•OpenGL采用右手坐标系(RHS)

右手系(right-hand system)是在空间中规定直角坐标系的方法之一。此坐标系中x轴,y轴和z轴的正方向是如下规定的:把右手放在原点的位置,使大拇指,食指和中指互成直角,把大拇指指向x轴的正方向,食指指向y轴的正方向时,中指所指的方向就是z轴的正方向。也可以按如下方法确定右手(左手)坐标系:如果当右手(左手)的大拇指指向第一个坐标轴(x轴)的正向,而其余手指以第二个轴(y轴)绕第一轴转动的方向握紧,就与第三个轴(z轴)重合,就称此坐标系为右手(左手)坐标系。

共同的转换是旋转,比例和转换
•转换是表示为矩阵
•转换的组成 - 矩阵乘法
•线性代数和均匀的坐标
•我们还将使用构建的转换场景和分层对象

3.2材料特性
•指定每个对象的材料属性
•颜色,纹理

3.3灯和相机
•我们指定相机位置,视图方向和向量向量
•创建一个视图空间,即所有相对于相机的位置
•我们指定照明位置,方向和其他参数

4.渲染
•将3D场景转换为2D视图
•查看空间和透视投影
•隐藏的表面拆除 - 确定可以看到哪些对象
计算每个物体表面上的照明变化:
•考虑本地和全球照明
•纹理和阴影
•不同的方法以不同的方式处理这一点 - 交互式渲染,逼真的渲染,艺术渲染

5.动画
•如何更新场景的部分,例如 位置,层次结构,颜色,照明等

6.图形管道
对于高级渲染方法,例如射线跟踪,此更改的各个方面
7.3D计算机图形的软件

8.基本的图形系统
8.1 OpenGL固定功能管道(旧方法)
•基于状态的渲染 - 使用API功能到:
•设置状态:发送信息以更改OpenGL状态计算机(例如有关3D世界中相机和灯的信息)
•传递数据,例如 点,线和多边形
•数据通过现有状态修改,然后以像素显示在屏幕上。
将几何形状从3D转换为2D; 从2D产生片段几何学; 结合片段以产生图像
8.2可编程管道(镶嵌着色器,几何着色器)

什么是 API(应用程序接口)?
API(应用程序接口)是一种软件中介,它允许两个不相关的应用程序相互通信。它就像一座桥梁,从一个程序接收请求或消息,然后将其传递给另一个程序,翻译消息并根据 API 的程序设计执行协议。API 几乎存在于我们数字生活的各个方面,可以说是我们现代插件、数字接口和软件通信环境的隐藏支柱。它们将所有内容连接在一起,使软件系统协调一致地工作。API 对企业用户来说大多是不可见的,但为软件程序开辟了广泛的可能性。它们的工作原理是以受控的方式开放软件的一小部分功能和数据。这使开发人员无需访问整个系统的代码即可访问该程序、硬件、数据或应用程序。

API 使用一系列程序、工具和协议来指定不同的软件组件应如何协同工作。有两种类型的 API:私有和公共。公共 API 使用面向消费者的应用程序,并为企业提供使用各种应用程序、移动设备和浏览器与客户建立联系的机会。私有 API 在后端工作,可简化操作并创建工具,以便更好地为客户、员工和其他利益相关者提供服务。

GPU的工作原理:
简单说GPU就是能够从硬件上支持T&L(Transform and Lighting,多边形转换与光源处理)的显示芯片,因为T&L是3D渲染中的一个重要部分,其作用是计算多边形的3D位置和处理动态光线效 果,也可以称为“几何处理”,提供细致的3D物体和高级的光线特效;只不过大多数PC中,T&L的大部分运算是交由CPU处理的(这就也就是所谓 的软件T&L),由于CPU的任务繁多,除了T&L之外,还要做内存管理、输入响应等非3D图形处理工作,因此在实际运算的时候性能会大 打折扣,常常出现显卡等待CPU数据的情况,其运算速度远跟不上今天复杂三维游戏的要求。但,新一代支持DX10或以上的显卡,在系统为windows vista或以上的环境中,可以把T&L的所有工作交给GPU完成,大大提高显卡运行的效率。也使得显卡对CPU的依赖最大化的减少。

GPU的 主要作用:
GPU是显示卡的“大脑”,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,称为“软加速”。3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。


http://www.niftyadmin.cn/n/24152.html

相关文章

在华为云ecs中使用阿里云的yum源安装php7.4

在经历了编译安装的痛苦之后,还是决定使用yum安装了【可选】查询是否安装了软件,目的是卸载编译安装的phprpm -qa | grep -i 软件名rpm -qa | grep phprm -rf /usr/local/php修改yum下载源为阿里云的地址wget -O /etc/yum.repos.d/CentOS-Base.repo http…

CAN 通信协议

CAN 概述 CAN 是Controller Area Network 的缩写(以下称为CAN),它的设计目标是以最小的CPU负荷来高效处理大量的报文。1986 年德国电气商BOSCH公司开发出面向汽车的CAN 通信协议。此后,CAN 通过ISO11898 及ISO11519 进行了标准化…

ChatGPT上线了!我在2023年1月2日这一天用上了它!百问百答!我只能说(真NB)算法工程师可以不用百度/Google了!

欢迎关注ChatGPT问答专栏:https://blog.csdn.net/weixin_41194129/category_12159275.html 目录:问答结果1、你有什么nlp算法?2、平台终端3、如何训练深度学习模型?4、如何压缩nlp模型?5、bert模型有哪些用途?6、你知道汽车座舱吗…

【Docker】(二)使用Dockerfile构建并发布一个SpringBoot服务

1.前言 在上一篇笔记 Docker基本概念与安装 中,我们已经获取到了一个Docker服务,并了解了Docker的基本组成及其各个组件的作用。 我们了解到,使用Docker的其中一个目的,是为了更加简单,方便的部署我们编写的服务&…

手把手教你用springboot实现jdk文档搜索引擎

目录 项目背景 项目描述 项目整体架构 项目流程 构建索引 项目背景 搜索引擎是我们经常会用到的工具,例如我们熟知的百度,谷歌等搜索引擎。除了网络搜索引擎,还有很多地方也有搜索引擎的身影,例如视频网站的搜索框,…

java面试题大全

一、基础线程和进程区别1、定义不一样,进程是执行中的一段程序,而一个进程中执行中的每个任务即为一个线程。2、一个线程只可以属于一个进程,但一个进程能包含多个线程。3、线程无地址空间,它包括在进程的地址空间里。4、线程的开…

到底为什么那么多大厂在开始疯狂裁员?

最近几年大家都听到了好多大厂公司开始裁员,比如鹅厂、狗厂、鸟厂、熊厂等。 接下来给大家讲个故事,希望故事看完,你就会懂了! 外国的神父呆了不久 留下几个 P 就走了, 一个 P 叫 BPR, 一个 P 叫 ERP。 …

【我的渲染技术进阶之旅】关于OpenGL纹理压缩的相关资料

文章目录一、为啥要了解压缩纹理1.1 为啥要使用压缩纹理1.2 如何自定义压缩纹理以及使用压缩纹理的效果1.2.1 使用压缩纹理节省显存1.2.2 自定义压缩纹理:将压缩好的纹理数据保存在本地1.2.3 使用自定义的压缩纹理1.2.3 示例原理二、纹理压缩相关知识2.0 什么是压缩…