OpenGL织梦之旅【第四章】第1节.设置视点函数gluLookAt

OpenGL之坐标系以及单位 OpenGL 图像编程实践。 阅读详情

       在做所有的事情之前,我们必须要了解怎么在3D的世界中绘图。这也是为了帮助我们调整视点,不然调来调去都是黑框...

       3D世界中的坐标系也是笛卡尔坐标系,y轴就像是现实世界中的“高低”,而x和z像是地面的坐标。

       我们写一个DrawBox函数,这函数负责绘制一个正方体。

void DrawBox()
{
	
	glBegin(GL_POLYGON);
			

			glColor3f(1.0,0.0,0.0);
		    glVertex3f(0.0f, 0.0f, 0.0f);	 
			glVertex3f(0.0f, 0.0f, 1.0f);
			glVertex3f(1.0f, 0.0f, 1.0f);
			glVertex3f(1.0f, 0.0f, 0.0f);
	glEnd();
	glBegin(GL_POLYGON);		
    
			glColor3f(0.0,1.0,0.0);
			glVertex3f(0.0f, 0.0f, 0.0f);	 
			glVertex3f(1.0f, 0.0f, 0.0f);
			glVertex3f(1.0f, 1.0f, 0.0f);
			glVertex3f(0.0f, 1.0f, 0.0f);
	glEnd();
	glBegin(GL_POLYGON);		
		
			glColor3f(0.0,0.0,1.0);
			glVertex3f(0.0f, 0.0f, 0.0f);	
			glVertex3f(0.0f, 1.0f, 0.0f);
			glVertex3f(0.0f, 1.0f, 1.0f);
			glVertex3f(0.0f, 0.0f, 1.0f);
	glEnd();
	glBegin(GL_POLYGON);		
		
			glColor3f(1.0,0.0,1.0);
			glVertex3f(1.0f, 0.0f, 0.0f);	
			glVertex3f(1.0f, 0.0f, 1.0f);
			glVertex3f(1.0f, 1.0f, 1.0f);
			glVertex3f(1.0f, 1.0f, 0.0f);
		glEnd();
	glBegin(GL_POLYGON);		
		
			glColor3f(1.0,1.0,0.0);
			glVertex3f(0.0f, 1.0f, 0.0f);	
			glVertex3f(0.0f, 1.0f, 1.0f);
			glVertex3f(1.0f, 1.0f, 1.0f);
			glVertex3f(1.0f, 1.0f, 0.0f);
	glEnd();			
	glBegin(GL_POLYGON);		
		
			glColor3f(0.0,1.0,1.0);
			glVertex3f(0.0f, 0.0f, 1.0f);
			glVertex3f(1.0f, 0.0f, 1.0f);
			glVertex3f(1.0f, 1.0f, 1.0f);
			glVertex3f(0.0f, 1.0f, 1.0f);
		glEnd();
}

OpenGL视点变换深度解析与实践 本文还有配套的精品资源,点击获取 简介:OpenGL是一个用于2D和3D图形渲染的开源图形库,广泛应用于游戏和科学可视化。视点变换在OpenGL中至关重要,它设置观察者的位置和方向,影响三维场景在二维屏幕上的显示。本文将介绍视点变换的概念、关键步骤、以及如何通过 gluLookAt() 函数实现视点变换。此外,还会探讨坐标变换的顺序,以及一个立方体示例如何展示... 阅读详情

相关推荐

运用OpenGL改变视点观察立方体

利用opengl建立一个彩色立方体模型,利用键盘改变视点(照相机的位置),观察立方体的显示。

soul聊天协议逆向

通过观察上面的CFG发现,该混淆符合以下逻辑,整体思路就是先查找主分发器,一般被引用次数最多的那个块就是主分发器,引用主分发器的块大概率是真实块,再使用unicorn模拟执行,遍历每一个分支,记录每一个块,如果某一个块是上次记录的块则也为真实块,无后继的块则为retn块,剩下的就是无用块。通过Frida Hook libc.so后发现,聊天协议走的是JAVA层的socket,然后Hook JAVA层相关函数得到如下调用堆栈。里面调用的函数不是很多,所以。不行不行,革命要彻底!

2503_90751789的博客 3210

AI提示词实战:用EARS语法5步搞定产品需求拆解(附完整案例)

本文详细介绍了如何运用EARS语法将模糊的产品需求进行原子化拆解,转化为清晰、可执行的结构化指令。通过一个完整的自由职业者项目管理工具案例,演示了从原始需求分析到构建增强AI提示词的五步实战流程,帮助产品经理和技术人员实现高效、精准的需求传达与协作。

nokia的博客 1031

麒麟操作系统Kylin如何从 2203 升级到 2403

fill:#333;important;important;fill:none;color:#333;color:#333;important;fill:none;fill:#333;height:1em;开始升级流程第一步:升级前准备1. 确认版本为 V10 SP1 22032. 备份全部重要数据3. 确保网络稳定4. 关闭应用第二步:选择升级方式方法一:图形界面升级方法二:命令行升级1. 更新现有系统至最新2. 启动“系统升级”工具3. 检测并开始下载2403。

让编程变的很简单!! 2660

政务帮办新范式:基于检索增强与多智能体协同的智能系统实践

本文提出了一种多智能体协同的智能政务系统架构,突破传统方案在状态管理、职责过载和感知闭环方面的局限。系统由中央规划智能体、对话引导智能体、参数提取智能体和执行状态分析智能体组成,通过职责分离与显式状态管理实现高效协同。核心创新在于中央决策引擎的确定性逻辑,采用基于规则的状态机设计,确保系统可靠可控。该架构支持自然语言交互、参数自动提取、业务系统操作和视觉闭环验证,能够真正实现"帮办"功能,显著提升政务服务的智能化水平。

469

MIT液态神经网络(LNN)深度研究:原理、应用与未来

液态神经网络(Liquid Neural Networks, LNNs)代表了人工智能领域,特别是神经网络架构设计中的一次范式转移。它从根本上挑战了传统深度学习模型依赖大规模参数和静态架构的惯例,转而寻求一种更为动态、高效且受生物神经系统启发的计算范式。LNN的核心创新在于其将神经网络的计算过程从离散的、基于时间步的更新,转变为连续的、由微分方程驱动的动态系统演化。这种转变不仅赋予了模型前所未有的适应性和鲁棒性,还使其在处理复杂的时序数据和因果推断任务时表现出色。本章节将深入剖析LNN的技术原理,从其核心的

步子哥的博客 2590

ABAP Cloud 开发教程的文章目录

本教程涵盖 ABAP 云端 Client 处理、多租户架构、ABAP Cloud开发、动态编程优化、SQL语法改进等技术主题。最新版本1.0.0(更新至2025-12-12),包含197篇文章,重点文章包括《ABAP Client Handling与隔离机制》《ABAP Platform 2021泛型编程》《SAP BTP ABAP多租户应用开发》等,为开发者提供从基础到进阶的实战指南。

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

SecOC专题之新鲜值TripCnt

本系列为一步步拆解新鲜值的分发及管理而撰写文章属于原创,根据自身开发经验及理解撰写,若有错误请指出Trip Counter是新鲜值中变化最慢的一个part,并且自增到最大值时,会从头开始翻转计数。Trip Counter需要收发双方都保存,由于其变化较慢,所以不会经常进行同步该值。这就要求开发过程中保证每次对该值的读写必须要正确。

qq_22969363的博客 1154

windows中通过docker部署LocateAnything-3B模型

windows中通过docker部署LocateAnything-3B模型

yilvyangguang520的博客 485

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

上一篇: OpenGL织梦之旅【第四章】编写一个自己的小剧场
下一篇: POJ 1201 Intervals
plusplus7
博客等级 码龄15年 59粉丝 173原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值