Lesson 6: 理解计算机图形学

DrawLine 计算机图形学 图形实验 画线 控制台 DrawLine 计算机图形学 图形实验 画线 控制台 算法精炼得体 完好无缺 可以下载后直接运行 你都不用修改什么 对于应付老师来说 简单 不用自己修改 呵呵 还等什么 赶快下载吧 立即下载

原文地址:
http://www.directxtutorial.com/Lesson.aspx?lessonid=11-4-1

The CPU Directs the GPU
这里写图片描述
大意为:CPU驱动GPU绘制图形显示在监视器上。

The CPU and GPU Have Separate Memory
这里写图片描述

DirectX图形基础设施(DXGI)示意图:
这里写图片描述
简单说下,Win32应用程序可以使用Direct3D完成与硬件(显卡)的交互。不仅如此,Direct3D可以通过硬件抽象层(HAL)通过图形设备驱动程序接口访问图形硬件,从而可以充分地发挥显卡的潜在功能,绘制出高性能高质量的精美图形来。

交换链:
这里写图片描述
为了让画面能够平滑的过渡,DXGI使用了交换链的方法:
交换链由两个或者两个以上的表面组成,而每个表面都是存储着2D图形的一个线性数组,其中每个元素都表示着屏幕上的一个像素。
前台缓冲区和后台缓冲区是位于系统内存或显存里的内存块,对应于将要显示的二维显示区域。前台缓冲区是显示在显示屏上的,后台缓冲区主要用于图形绘制的准备工作,准备好之后,就可以和前台缓冲区进行一个交换动作。
页面翻转,是指向前台缓冲区和后台缓冲区表面内存的指针在进行着调换动作,也就是说是经过交换表面内存的指针来实现的,而不是通过复制表面的内容实现的。

当然,为了得到更好地效果,我们甚至可以使用三缓冲:
这里写图片描述

渲染流水线:
渲染流水线是产生3D图形的处理过程,就像流水作业线一样,一步接着一步,它的各个步骤都是在GPU上执行的。
这里写图片描述
1.The Input-Assembler Stage:
这个阶段从显存中获取你想要渲染的3D模型信息,然后编译这些信息为渲染做准备。

2.The Rasterizer Stage:
这个阶段决定了后台缓冲区的图形需要绘制成什么样的,确切的说哪个像素需要绘制以及它们的颜色是什么。

3.The Output-Merger Stage:
流水线的最后一个阶段,将每个独立的模型整合成一张图片然后把它放在后台缓冲区中。

3D坐标系系统:
这里写图片描述

3D几何学:
三角形作为最简单的多边形,是构建物体模型的基本单元。
为了能够使用大量的三角形组成三角形网格来描述物体,首先需要定义好三角形的顶点,3个顶点确定一个三角形,而顶点除了定义每个顶点的坐标位置以外,还含有颜色等其他属性。

这里写图片描述
图中三角形由这三个顶点构成:
x = 0, y = 5, z = 1
x = 5, y = -5, z = 1
x = -5, y = -5, z = 1

然而,要给每个三角形都定义它们的3D坐标系,那太枯燥了。而我们不需要这么做,下节课将会学习创建一个表来存放顶点的信息。

基本体:
1.Point Lists点列
这里写图片描述
A Point List (6 Primitives)

2.Line Lists线列
这里写图片描述
A Line List (3 Primitives)

3.Line Strips线带
这里写图片描述
A Line Strip (5 Primitives)

4.Triangle Lists三角形列
这里写图片描述
A Triangle List (2 Primitives)

5.Triangle Strips三角形带
这里写图片描述
A Triangle Strip (4 Primitives)

A Primitive Quirk基本体绘制习惯:
顺时针绘制基本体。

Primitive Only Visible When Drawn Clockwise
这里写图片描述

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档) SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心... 立即下载

相关推荐

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

【DirectX11-Tutorial】理解图形结构Understanding Graphics Concepts

Graphics Hardware 对图形程序的理解程度取决于对图形硬件的理解。Direct3D不只是游戏平台还是硬件接口。对Direct3D的操作实际上就是处理其硬件本身,所以需要理解图形硬件知识。GPU和图形处理单元是与游戏关系最为密切的区域,与CPU在某些结构和用途上有所区别。CPU控制整个计算机二GPU只负责执行图形计算并将图形输出到显示器。

ZON 1267

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

DirectX Triangle Strips

今天北京下了一天的雨,而且是暴雨,不知道又有多少地方可以划船了,这么大的雨也打乱了我的搬家计划,不能搬家,那就写一篇小文吧,也是刚才没事浏览DX SDK文档时偶有所悟,非常简单,博大家一笑而。 Triangle Strips是D3D用来绘制三角形的一种方式,这种方式比Triangle list更加高效,因为不用重复存储三角形顶点。下面看一个例子,分析一下这两种方式的不同。 现在我们要绘制一个矩...

weixin_34279579的博客 271

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

Vulkan教程 - 06 交换链

Swap chain(交换链) 现在到了Vulkan教程第十章了,学习交换链。Vulkan没有默认帧缓冲的概念,因此它需要一个基础设施,能够在我们通过屏幕看到内容之前,持有我们想要渲染的东西的缓冲。该基础设施就是交换链了,必须显式创建。交换链本质上是一个图像队列,等待显示到屏幕上。我们的应用将会获取这样的一个图片来向其进行绘制,然后将它返回给队列。队列究竟怎么工作的,以及从队列中呈现一个图像的条...

捉不住的鼬鼠的足迹 2483

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

DirectX11 交换链是什么

交换链是什么? 交换链的由来? 在游戏绘制中,渲染的速度非常快,在显示器完成显示更新之前就能绘制出来(也就是画到中途就把画面给显示出来了),这样的话,屏幕就会显示未完成的画面,有会出现一闪一闪的情况(因为背景被清除了,而新的图案又没有画完整,就留下一大片空白直接显示出来。等到新的图案显示出来,等下又会清空成白色。造成一闪一闪的现象)。这时就需要引用交换链的技术,来解决这种问题。如何解决屏幕一闪一

梦幻DUO的游戏开发之路 7017

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

【现代计算机图形学入门】Lesson1-笔记1

使用集成开发环境(IDE):Visual Studio、Qt Creator等。计算机视觉:一切需要一定程度猜测的内容,需要识别哪些地方是人,哪些地方是路面。推荐书籍:虎书第3版及之后的版本。计算机视觉and图形学。

qq_35064654的博客 451

科技中介服务机构如何构建标准化、模块化的智能服务工具?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

探索WebGL Shader与Three.js的艺术:Jam3 Lesson项目解析

探索WebGL Shader与Three.js的艺术:Jam3 Lesson项目解析 项目简介 在GitCode仓库中,你会发现一个名为"jam3-lesson-webgl-shader-threejs"的项目,这是由Experience Monks团队创建的一个学习资源,旨在教授如何利用WebGL Shader和Three.js库创建交互式的3D图形。通过这个项目,你可以深...

gitblog_00088的博客 315

3D视觉引导技术在机器人焊接中的应用

通过对比传统的2D视觉和3D视觉技术在焊接领域的应用差异,探讨了3D视觉引导技术在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势。本文对3D视觉引导技术在机器人焊接中的应用进行了深入探讨,总结了其在提高焊接精度、适应不规则工件形状和增强自适应能力方面的优势,并通过应用案例展示了其在焊接路径规划、焊缝检测和焊接质量控制等方面的重要作用。1. 提高焊接精度:3D视觉引导技术能够精确测量焊接工件的三维形状和位置,为机器人提供精准的焊接路径规划和跟踪,从而提高焊接精度。三、3D视觉引导技术概述。

2302_79273122的博客 1836

从零构建Carsim线控转向仿真:模型搭建、算法集成与整车联动实战

本文详细介绍了从零开始基于Carsim和Simulink搭建线控转向仿真模型的完整实战流程。内容涵盖RWA前轮执行器动力学建模与PID控制、卡尔曼滤波器估算齿条力、HWA方向盘手感模拟算法设计,以及最终实现HWA与RWA闭环联动并进行整车仿真调试。通过分步拆解,帮助读者深入理解线控转向系统的核心原理与工程实现。

weixin_29158413的博客 251

iOS OpenGL ES2.0教程 Lesson03 旋转

http://jimmyzhouj.blog.51cto.com/2317513/884763 标签: 教程 iOS OpenGL ES tutorial 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://jimmyzhouj.blog.51cto.com/2317513/884763

any 1858

高速光耦在隔离串口通信中的选型与优化策略

本文深入探讨了高速光耦在隔离串口通信中的关键作用与选型优化策略。针对串口通信中因普通光耦响应慢导致的误码问题,文章详细分析了响应时间、电流传输比、供电电压与隔离耐压等核心选型指标,并对比了6N137、HCPL-0601等主流型号。同时,提供了电路设计、PCB布局的优化技巧及实用的调试指南,旨在帮助工程师实现高速、稳定的隔离串口通信。

grpc6streamer的博客 322

pytorch_lesson16.1 OpenCV索贝尔算子/拉普拉斯算子调用+pytorch中构建cnn+复现经典模型(LeNet5+AlexNet)

cnn入门级学习笔记

weixin_51589123的博客 1206

Intel RealSense D435深度相机实战:从数据采集到点云生成的完整避坑指南

本文详细介绍了Intel RealSense D435深度相机的实战应用,从数据采集到点云生成的完整流程,并提供了避坑指南。内容包括环境配置、硬件调优、数据采集技巧、点云生成核心技术及典型场景解决方案,帮助开发者高效利用D435进行机器人导航、三维重建等应用。

weixin_29054195的博客 472

CONN工具箱分析fmri数据笔记1

前言一、安装二、预处理三、去噪 前言 CONN:functional connectivity toolbox,是基于MATLAB和SPM的一个对功能磁共振数据进行分析的一个工具箱。可以进行以下分析: Seed-based correlations (SBC), ROI-to-ROI correlations, graph analyses, Independent component analyses(group-ICA), Masked (ICA) Amplitude of Low-Frequency.

weixin_52073820的博客 6586

OpenGL 第三课 中文

第三课 中文 添加颜色: 作为第二课的扩展,我将叫你如何使用颜色。你将理解两种着色模式,在左图中,三角形用的是光滑着色,四边形用的是平面着色。  上一课中我教给您三角形和四边形的绘制方法。这一课我将教您给三角形和四边形添加2种不同类型的着色方法。使用Flat coloring(单调着色)给四边形涂上固定的一种颜色。使用Smooth coloring(平滑着色)将三角形的三个顶点的不同颜色

Halfopen的专栏 620

01 Python学习总结:Python简介及入门

Python 是一门高级编程语言,以其简洁、易读和强大的功能而广受欢迎。它适用于多种应用场景,包括 Web 开发、数据分析、人工智能、自动化脚本等。以下是 Python 的简介及入门知识总结,帮助你快速了解并开始学习 Python。

数据知道的博客 1万+

NeHe OpenGL第八课:混合

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://yarin.blog.51cto.com/1130898/380348NeHe OpenGL第八课:混合混合:在这一课里,我们在纹理的基础上加上了混合,它看起具有

GEOLO的专栏 995

在 ABAP 平台配置 OAuth 2.0 Client(OA2C_CONFIG):一份可落地的全景实践

本文详细介绍了在ABAP平台中配置OAuth 2.0客户端的完整流程。重点讲解了四种授权类型(Client Credentials、Authorization Code、SAML 2.0 Bearer Assertion、Resource Owner Password Credentials)的适用场景和配置要点,以及客户端认证的三种方式(Client Secret、Client Certificate、mTLS)。文章提供了操作步骤、排错建议和工程实践指导,包括端点配置、回调地址管理、scopes设置等关

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 355

若依框架二次开发——RuoYi-AI 本地部署流程

若依框架二次开发——RuoYi-AI 本地部署流程

bjzhang75的博客 1784
上一篇: Lesson 5: 实时消息循环
下一篇: Lesson 7: 初始化Direct3D
Nim的辙迹
博客等级 码龄10年 17粉丝 40原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值