OpenGL
周成风
Windows原生开发C/C++,QT,C#,熟悉Windows CEF内核二次开发
App跨端Flutter
鸿蒙原生ArkTS、ArkUI
展开
-
ChangeDisplaySettings切换屏幕分辨率
if (fullscreen) // 全屏模式 { DEVMODE dmScreenSettings; // 设备模式 memset(&dmScreenSettings,0,sizeof(dmScreenSettings)); // 确保内存清空为零 dmScreenSettings.dmSize = sizeof(dmScreenSe原创 2009-06-08 22:29:00 · 15229 阅读 · 0 评论 -
闪烁的星星(Nehe)
以下代码演示与Nehe教程第九课中一样的效果。第十课中三维的暂不实现。主要使用纹理贴图相关方面知识。WStar.h#pragma once#include /** @brief 星星描述*/class WStar{public: WStar(void); ~WStar(void); /** 颜色分量*/ int m_iR; int m_iG转载 2010-02-08 23:09:00 · 1916 阅读 · 3 评论 -
纹理贴图
本文在上一个例子基础上进行修改。去掉圆锥形,并为立方体六边加上纹理贴图,同时增加键盘事件控制旋转角度,Z坐标。实现与Nehe第六、七课一样的效果。(由于本人学习OpenGL为了三维建模,光照方面的代码暂不增加)。wglwidget.h#ifndef WGLWIDGET_H#define WGLWIDGET_H#include #include #include "ui_原创 2010-02-08 23:04:00 · 2638 阅读 · 1 评论 -
3D物体
本文基于“第一个OpenGL程序”,将绘制一个绕Y族旋转的金字塔,一个绕XYZ族旋转的立方体。绘制多边形时,都按照逆时针进行绘制,今后的课程将进行解释。wglwidget.h#ifndef WGLWIDGET_H#define WGLWIDGET_H#include #include #include "ui_wglwidget.h"class WGLW原创 2010-02-03 18:23:00 · 1444 阅读 · 0 评论 -
OpenGL、OpenCV
一、 OpenGLOpenGL(全写Open Graphics Library)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图像(二维的亦可)。OpenGL是个专业的图形程序接口,是一个功能强大,调用方便的底层图形库。1、 概述OpenGL - 高性能图形算法行业标准OpenGL™ 是行业领域中最为广泛接纳的 2D/3D 图形 API, 其自诞生至今已催转载 2010-01-28 15:06:00 · 7819 阅读 · 0 评论 -
OpenGL旋转
本文功能类似Nehe教程第三课。对图形进行旋转操作。主要使用函数:glRotatef(GLfloat angle,GLfloat x,GLfloat y,GLfloat z);作用是绕从原点到点(x,y,z)的向量顺时针旋转angle弧度。为了实现旋转动画效果,需要增加计时器处理函数,定时更改旋转角度。其中main.cpp中代码与第一课中一致。其他代码如下:wglwidget.原创 2010-01-27 23:41:00 · 8087 阅读 · 0 评论 -
OpenGL颜色
本文功能类似Nehe教程第二课,在OpenGL中使用颜色。着色可以使用两种方式,包括Flat模式(单调着色)和Smooth模式(平滑着色)。本代码在第一个OpenGL程序代码基础上扩充。增加一个四边形的填充显示。修改paintGL()函数代码如下:void WGLWidget::paintGL(){ glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_原创 2010-01-27 22:13:00 · 3457 阅读 · 0 评论 -
QT中第一个OpenGL程序
学习QT已经有一段时间了,为了可以进一步的学习QT,并学习在QT在使用OpenGL。将定期按照Nehe的OpenGL教程,将功能在QT中全部实现。本博客发布的代码,在Window XP + Visual 2005 SP1 + QT 4.6.0编译通过。非常感谢Nehe对于本人学习OpenGL的帮助。需要在QT中创建OpenGL应用程序,通常需要从QGLWidget类继承出自己的类。原创 2010-01-24 22:49:00 · 23595 阅读 · 3 评论 -
NVIDIA Geforce GTX 260全屏显示
前几天新配的电脑,显卡是NVIDIA Geforce GTX 260,在利用ChangeDisplaySettings设置全屏显示时,不支持16位颜色位深。窗口模式时16可以正常显示。32位窗口模式和全屏模式都支持。原创 2009-08-19 22:34:00 · 732 阅读 · 0 评论 -
OpenGL中的混合 (blend)
Blend 混合是将源色和目标色以某种方式混合生成特效的技术。混合常用来绘制透明或半透明的物体。在混合中起关键作用的α值实际上是将源色和目标色按给定比率进行混合,以达到不同程度的透明。α值为0则完全透明,α值为1则完全不透明。混合操作只能在RGBA模式下进行,颜色索引模式下无法指定α值。物体的绘制顺序会影响到OpenGL的混合处理。 glEnable( GL_BLEND );原创 2009-06-12 10:10:00 · 28392 阅读 · 1 评论 -
OIV环境配置
OIV环境配置前言:为了学习Open Inventor,选择了VS 2005 + QT + COIN3D的环境进行学习,为了能编译第一个OIV程序,需要配置环境。本人的讨论需要你以前做了如下工作:1、 VS 2005开发环境;2、 QT环境,下载QT源代码编译,并安装QT官方提供的与VS2005的插件。一、 搭建COIN3D开发环境1、 要搭建Coin3D开原创 2010-03-14 21:56:00 · 2178 阅读 · 0 评论