计算机图形学 多视区的显示

一、实验目的

1.理解多视区在 OpenGL 中的概念与应用场景,掌握视区划分的原理。

2.熟练运用glViewport函数实现窗口内多个独立视区的创建与管理。

3.掌握在多视区中分别绘制图形、设置不同显示模式(线框、填充)的方法,理解视区与图形渲染的关联逻辑。

4.深入理解二维观察变换的三个关键步骤(指定矩阵堆栈、裁剪窗口、视区),明确坐标变换在多视区场景中的作用。

二、实验内容

通过 OpenGL 编程,在一个窗口内创建两个独立视区,分别在两个视区中绘制具有相同坐标但不同显示模式(线框、填充)和颜色的三角形,以此验证多视区的独立渲染能力,同时巩固二维观察变换的流程。

三、实验代码

  • 实验结果

程序运行后将生成一个标题为 "多视区" 的窗口,窗口被划分为左右两个独立视区:

左侧视区(位置 (0,0),大小 200x200):显示红色线框三角形,三角形以轮廓形式呈现。

右侧视区(位置 (200,0),大小 200x200):显示蓝色填充三角形,三角形以实心形式呈现。

两个视区的三角形坐标逻辑一致,但因显示模式和颜色的差异,视觉效果完全独立,验证了多视区的独立渲染能力,与教材图效果一致

  • 实验心得

本次实验从多维度加深了对 OpenGL 多视区技术的理解。技术原理上,明确glViewport函数是多视区实现的核心,通过指定屏幕矩形区域划分出多个 "虚拟子窗口";同时掌握二维观察变换的三步流程 ------ 指定GL_PROJECTION矩阵堆栈、用gluOrtho2D设置裁剪窗口、用glViewport设置视区,这是图形正确映射的关键。编程实践中,熟练运用 "切换视区→设置属性→绘制图形" 的流程,理解glPolygonMode对线框 / 填充模式的控制,认识到该技术可用于数据对比、多视角预览等多模块可视化场景。效果认知上,通过对比视区图形,直观体会多视区 "同一空间、不同表现" 的优势,也意识到视区参数与图形属性对视觉呈现的直接影响,需按需调控。综上,实验深化了理论认知,提升了分区渲染能力,为复杂场景开发奠定基础。

相关推荐
忆~遂愿4 小时前
免密连接+快捷键+虚拟鼠标:ToDesk远程操作AI效率拉满
人工智能·python·深度学习·神经网络·自然语言处理·计算机外设·安全架构
硅基手札4 小时前
【串口技术系列文档 07】UART控制器寄存器详解
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
硅基手札4 小时前
【串口技术系列文档 09】FIFO管理与流控
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
硅基手札4 小时前
【串口技术系列文档 08】中断驱动vs轮询vs DMA
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
承渊政道7 小时前
鸿蒙设备远控电脑实测:ToDesk蓝牙键鼠、双模式鼠标、跨端剪贴板,远控电脑更顺手了
计算机外设·电脑·harmonyos·远程工作·todesk
ji_shuke1 天前
使用 Canvas 和 mix-blend-mode 实现跟随鼠标的反色圆圈
microsoft·计算机外设·canvas
硅基手札1 天前
【串口技术系列文档 04】UART协议深度解析
驱动开发·stm32·单片机·嵌入式硬件·mcu·计算机外设
开开心心_Every1 天前
电脑OCR识别软件支持表格识别图片转Excel
java·开发语言·微信·计算机外设·ocr·intellij-idea·excel
野蛮人6号3 天前
macbook连上外接显示器后,字体变小,如何设置成像原来本机的界面一样呢?
计算机外设
打工仔折腾 AI3 天前
从零写一个CAD 05:以鼠标为中心的滚轮缩放,招法能复用但顺序不能反
开发语言·后端·python·性能优化·计算机外设·swift·ai agent 实战