计算机图形的简单概念了解(目的是了解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

相关文章

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

csu 1446 Problem J Modified LCS (扩展欧几里得算法的简单应用)

这是一道扩展欧几里得算法的简单应用题,这题是在湖南多校训练赛中队友ac的一道题,在比赛之后请教了队友,然后自己把它a掉 这也是自己独自做扩展欧几里得算法的题目 题意:把题意转变下就变成了:求d1*x - d2*y = f2 - f1的解,很明显用exgcd来解 下面介绍一下exgcd的一些知识点:求ax + by = c的解 一、首先求ax + by = gcd(a,b)的解 这个

hdu2289(简单二分)

虽说是简单二分,但是我还是wa死了  题意:已知圆台的体积,求高度 首先要知道圆台体积怎么求:设上下底的半径分别为r1,r2,高为h,V = PI*(r1*r1+r1*r2+r2*r2)*h/3 然后以h进行二分 代码如下: #include<iostream>#include<algorithm>#include<cstring>#include<stack>#includ

sqlite3 相关知识

WAL 模式 VS 回滚模式 特性WAL 模式回滚模式(Rollback Journal)定义使用写前日志来记录变更。使用回滚日志来记录事务的所有修改。特点更高的并发性和性能;支持多读者和单写者。支持安全的事务回滚,但并发性较低。性能写入性能更好,尤其是读多写少的场景。写操作会造成较大的性能开销,尤其是在事务开始时。写入流程数据首先写入 WAL 文件,然后才从 WAL 刷新到主数据库。数据在开始

usaco 1.3 Prime Cryptarithm(简单哈希表暴搜剪枝)

思路: 1. 用一个 hash[ ] 数组存放输入的数字,令 hash[ tmp ]=1 。 2. 一个自定义函数 check( ) ,检查各位是否为输入的数字。 3. 暴搜。第一行数从 100到999,第二行数从 10到99。 4. 剪枝。 代码: /*ID: who jayLANG: C++TASK: crypt1*/#include<stdio.h>bool h

uva 10387 Billiard(简单几何)

题意是一个球从矩形的中点出发,告诉你小球与矩形两条边的碰撞次数与小球回到原点的时间,求小球出发时的角度和小球的速度。 简单的几何问题,小球每与竖边碰撞一次,向右扩展一个相同的矩形;每与横边碰撞一次,向上扩展一个相同的矩形。 可以发现,扩展矩形的路径和在当前矩形中的每一段路径相同,当小球回到出发点时,一条直线的路径刚好经过最后一个扩展矩形的中心点。 最后扩展的路径和横边竖边恰好组成一个直

poj 1113 凸包+简单几何计算

题意: 给N个平面上的点,现在要在离点外L米处建城墙,使得城墙把所有点都包含进去且城墙的长度最短。 解析: 韬哥出的某次训练赛上A出的第一道计算几何,算是大水题吧。 用convexhull算法把凸包求出来,然后加加减减就A了。 计算见下图: 好久没玩画图了啊好开心。 代码: #include <iostream>#include <cstdio>#inclu

uva 10130 简单背包

题意: 背包和 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <cstring>#include <cmath>#include <stack>#include <vector>#include <queue>#include <map>

AI Toolkit + H100 GPU,一小时内微调最新热门文生图模型 FLUX

上个月,FLUX 席卷了互联网,这并非没有原因。他们声称优于 DALLE 3、Ideogram 和 Stable Diffusion 3 等模型,而这一点已被证明是有依据的。随着越来越多的流行图像生成工具(如 Stable Diffusion Web UI Forge 和 ComyUI)开始支持这些模型,FLUX 在 Stable Diffusion 领域的扩展将会持续下去。 自 FLU