计算机图形的简单概念了解(目的是了解GPU相关feature含义)

2024-06-16 08:48

本文主要是介绍计算机图形的简单概念了解(目的是了解GPU相关feature含义),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Table of Contents

  • 1. 引言
  • 2. 导论
    • 2.1. 图形概念
    • 2.2. 图形的表示方法
    • 2.3. 图形的操作
    • 2.4. 什么是光栅?
    • 2.5. 锯齿
    • 2.6. 帧和位平面
    • 2.7. 最低刷新率是30帧/s。否则会有卡顿。
    • 2.8. 扫描转换?
    • 2.9. 视频和图形?
    • 2.10. 图形处理流程简介
  • 3. 光栅扫描图形学
    • 3.1. 画直线
    • 3.2. 画圆
    • 3.3. 椭圆
    • 3.4. N次多项式的一般函数,曲线画法
    • 3.5. 多边形的填充
    • 3.6. 字符
  • 4. 裁剪
  • 5. 可见面
  • 6. 绘制
    • 6.1. 纹理

1 引言

当前工程正在熟悉gpu IP的feature。乍看有很多模糊的名词,参考《计算机图形学的算法基础》这本书,做一些简单了解。相关算法,完全忽略了。

2 导论

2.1 图形概念

点、线、文本的集合,都可称为图形。

2.2 图形的表示方法

线、多边形,都可以用点来描述。
二维、三维,可以用点来描述。
曲线,用短直线逼近表示。
纹理比较复杂,但仍然属于点和曲线的范畴。

2.3 图形的操作

旋转、平移、缩放、投影。
生成阴影、透明效果、加贴纹理、颜色处理。
裁剪。

2.4 什么是光栅?

主要是说的光栅图形显示器。基于离散点的显示设备。
光栅图,就是像素图;对应的是矢量图,放大不失真,但是要实时显示的话,需要实时运算。
光栅化,就是根据图形决定每个像素的数据内容,比如颜色等;其实就是确定逼近直线的像素过程。依赖的是光栅化算法。

2.5 锯齿

因为基于点,所以画线,会有锯齿问题。

2.6 帧和位平面

一帧表示画面的像素信息量。比如1980*1080显示设备的黑白像素,一帧需要1980*1080bits。帧不是显示设备,只是存储数据。
多帧,可以实现灰度或者彩色画面;每一帧的像素信息叠加在一起,从而可以决定画面的像素灰度或色彩能力(不同深浅的颜色)。具体,是额外增加一个查色表来实现的。
个人暂时理解一帧可以由N个位平面构成。

2.7 最低刷新率是30帧/s。否则会有卡顿。

现在一般是30帧/s,或者60帧/s的需求。
电影视频要求50帧/s以上,我暂时认为是60帧/s是基本要求。
电视采用隔行扫描,所以30帧/s也够了。

2.8 扫描转换?

光栅化过程,以及按扫描线顺序(从上到下,从左到右)绘制图片的过程(图形显示),结合在一起就是扫描转换。
方法分为实时(例如车辆仿真)、行程编码(例如图片存储)、帧缓冲存储器(计算机上的图形界面)三种。

2.9 视频和图形?

视频是通过对光栅化的图形,进行扫描转换而形成的。

2.10 图形处理流程简介

  • 帧缓冲当做一个绘图平面;第一步需要把帧缓冲清零。
  • 光栅化,确定图形显示的算法;
  • 像素写入帧缓冲存储器;
  • 当一帧图形完成时,按照扫描顺序读出帧缓冲存储器的结果,并传送到显示器上。


3 光栅扫描图形学

其实就是各种算法介绍

3.1 画直线

3.2 画圆

3.3 椭圆

3.4 N次多项式的一般函数,曲线画法

3.5 多边形的填充

3.6 字符

4 裁剪

5 可见面

隐藏不可见的点线面。

6 绘制

绘制可以简单理解为生成真实感图像或图形的过程。绘制过程,涉及物理学及心理学两方面。例如光照(透明度、阴影等)、凹凸等。

6.1 纹理

纹理是一种技术,描述物体的表面细节。
需要考虑:

  • 纹理加到光环的物体表面后,曲面仍然看起来是光滑的。
  • 如何使表面粗糙化。
  • 如何模拟环境,表现阴影和光照程度等。



Author: qilei

Created: 2017-06-17 周六 15:58

Validate

这篇关于计算机图形的简单概念了解(目的是了解GPU相关feature含义)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Python中Tensorflow无法调用GPU问题的解决方法

《Python中Tensorflow无法调用GPU问题的解决方法》文章详解如何解决TensorFlow在Windows无法识别GPU的问题,需降级至2.10版本,安装匹配CUDA11.2和cuDNN... 当用以下代码查看GPU数量时,gpuspython返回的是一个空列表,说明tensorflow没有找到

CSS3中的字体及相关属性详解

《CSS3中的字体及相关属性详解》:本文主要介绍了CSS3中的字体及相关属性,详细内容请阅读本文,希望能对你有所帮助... 字体网页字体的三个来源:用户机器上安装的字体,放心使用。保存在第三方网站上的字体,例如Typekit和Google,可以link标签链接到你的页面上。保存在你自己Web服务器上的字

Java中Map.Entry()含义及方法使用代码

《Java中Map.Entry()含义及方法使用代码》:本文主要介绍Java中Map.Entry()含义及方法使用的相关资料,Map.Entry是Java中Map的静态内部接口,用于表示键值对,其... 目录前言 Map.Entry作用核心方法常见使用场景1. 遍历 Map 的所有键值对2. 直接修改 Ma

基于Python实现一个简单的题库与在线考试系统

《基于Python实现一个简单的题库与在线考试系统》在当今信息化教育时代,在线学习与考试系统已成为教育技术领域的重要组成部分,本文就来介绍一下如何使用Python和PyQt5框架开发一个名为白泽题库系... 目录概述功能特点界面展示系统架构设计类结构图Excel题库填写格式模板题库题目填写格式表核心数据结构

C/C++ chrono简单使用场景示例详解

《C/C++chrono简单使用场景示例详解》:本文主要介绍C/C++chrono简单使用场景示例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录chrono使用场景举例1 输出格式化字符串chrono使用场景China编程举例1 输出格式化字符串示

使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)

《使用Python和Matplotlib实现可视化字体轮廓(从路径数据到矢量图形)》字体设计和矢量图形处理是编程中一个有趣且实用的领域,通过Python的matplotlib库,我们可以轻松将字体轮廓... 目录背景知识字体轮廓的表示实现步骤1. 安装依赖库2. 准备数据3. 解析路径指令4. 绘制图形关键

conda安装GPU版pytorch默认却是cpu版本

《conda安装GPU版pytorch默认却是cpu版本》本文主要介绍了遇到Conda安装PyTorchGPU版本却默认安装CPU的问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的... 目录一、问题描述二、网上解决方案罗列【此节为反面方案罗列!!!】三、发现的根本原因[独家]3.1 p

MySQL 事务的概念及ACID属性和使用详解

《MySQL事务的概念及ACID属性和使用详解》MySQL通过多线程实现存储工作,因此在并发访问场景中,事务确保了数据操作的一致性和可靠性,下面通过本文给大家介绍MySQL事务的概念及ACID属性和... 目录一、什么是事务二、事务的属性及使用2.1 事务的 ACID 属性2.2 为什么存在事务2.3 事务

windows和Linux安装Jmeter与简单使用方式

《windows和Linux安装Jmeter与简单使用方式》:本文主要介绍windows和Linux安装Jmeter与简单使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录Windows和linux安装Jmeter与简单使用一、下载安装包二、JDK安装1.windows设

无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案

《无法启动此程序因为计算机丢失api-ms-win-core-path-l1-1-0.dll修复方案》:本文主要介绍了无法启动此程序,详细内容请阅读本文,希望能对你有所帮助... 在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是"api-ms-win-core-path-l1-1-0.dll丢失