
openGL
openGL
YYyyCCCcccBb
觉得为时已晚的时候,恰恰是最早的时候。
展开
-
OpenGL学习!!!第一步自己搭windows环境
第一步:先建立窗口和各种初始函数#include LRESULT CALLBACK GLWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch (msg) { case WM_CLOSE://关闭窗口 PostQuitMessage(0); break; } return原创 2017-03-15 19:32:03 · 672 阅读 · 0 评论 -
OpenGL画点
#include #include #include #pragma comment(lib,"opengl32.lib")#pragma comment(lib,"glu32.lib")LRESULT CALLBACK GLWindowProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam){ switch (msg)原创 2017-03-15 20:47:35 · 1062 阅读 · 0 评论 -
GL画线-画三角形方法
GL划线 glBegin(GL_LINES);//start to draw something glVertex3f(0.0f, 0.0f, -10.0f); glVertex3f(-5.0f, 0.0f, -10.0f); glVertex3f(-5.0f, 0.0f, -10.0f); glVertex3f(-5.0f, -2.0f, -10.0f);GL画收尾相接原创 2017-03-16 20:44:12 · 1989 阅读 · 0 评论 -
OpenGL-glLoadIdentity()的作用,线框模式,多边形,点变化,移动
openGL 画四边形 glBegin(GL_QUAD_STRIP);//start to draw something // n/2-1 quad // 2n-1 2n 2n+2 2n+1 //1: 1 2 4 3 //2: 3 4 6 5 glColor4ub(255, 0, 0, 255);//每个颜色占8字节 set color: white glVe原创 2017-03-24 16:30:52 · 2785 阅读 · 0 评论 -
openGL-光照
//init light float blackColor[] = { 0.0f,0.0f,0.0f,1.0f }; float whiteColor[] = { 1.0f,1.0f,1.0f,1.0f }; float lightPos[] = { 0.0f,1.0f,0.0f,0.0f };//y轴正方向来, 注意后面的法线方向 glLightfv(GL_LIGHT0, GL_AMB原创 2017-03-31 17:58:08 · 441 阅读 · 0 评论 -
vs2015处理当前相对目录下的方法
跟着网课做了好久,人家就可以跑,然而我就一跑就崩,加了绝对路径就能过,搜了一个多小时资料才发现办法!右键项目属性-》 c/c++-> 常规 ->附加包含目录, 点进去就好了!还有一个问题是引用文件,在vs2015生成时候会生成一个debug 和一个项目名称的文件夹,如果要引用相对路径 ,需要把文件放在这个项目名称的文件夹里面原创 2017-04-03 16:17:01 · 5063 阅读 · 0 评论 -
OpenGL类型名与C的对应关系!
转自http://cabbage812.blog.163.com/blog/static/92281438200931402330645/为了便于OpenGL在各种平台上移植,OpenGL定义了自己的数据类型。如果你愿意也可用这些数据类型对应的标准C的数据类型来替代。如OpenGL也定义GLvoid类型,如果用C语言编写,可以用它替代void类型。不同的C编译器或环境对各种C变量的大小和内转载 2017-04-04 13:30:26 · 707 阅读 · 0 评论 -
网课内容--解码BMP与创建纹理
texture.cpp#include "texture.h"#include "utils.h" unsigned char* DecodeBMP(unsigned char*bmpFileData, int&width, int&height){ if (0x4D42==*((unsigned short*)bmpFileData)) { printf("yes");原创 2017-04-04 13:33:45 · 373 阅读 · 0 评论 -
向量类操作
#include class Vector3{public : float x,y,z; Vector3(){} Vector3(const Vector3 & a): x(a.x),y(a.y),z(a.z){} Vector3(float nx,float ny,float nz): x(nx) ,y(ny),z(nz){} Vector3 &o原创 2017-04-26 21:33:16 · 1329 阅读 · 0 评论 -
给vs2012添加glut库
glut下载地址:http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip1.在c盘中搜索GL.h,将从网上下载的压缩包解压后,将glut.h放在和GL.h的相同目录中2.在安装vs2012的文件夹中,我的是 D:\vs2012\VC\lib,在这个路径下将glut.lib和glut32.lib放进转载 2017-05-05 16:48:34 · 598 阅读 · 0 评论 -
openGL-边界填充
思路:先将线框边界画出来,填充为白色。之后用glReadPixels函数得到某个像素点的颜色值。之后判断是否被填充过,或是否为边界颜色,如果没有被填充,就将其四个方向的像素点入栈再填充void Boundaryfill (int seedx,int seedy){ CMyStack stk1; long color=RGB(255,0,0); //填充颜色 long原创 2017-05-31 19:37:08 · 1992 阅读 · 0 评论 -
OpenGL实现画线-线形-线宽转变
思路:在画线算法的基础上,添加像素掩膜,&1为1则画否则不画。// ====== Computer Graphics Experiment #4 ======// | Line style using pixel mask |// | and line width | // =============原创 2017-05-31 20:05:16 · 4211 阅读 · 0 评论 -
OpenGL-2D(Cohen-Sutherland 裁线算法)
使用的是Cohen-Sutherland 裁线算法,先把区域编号,之后裁剪。注意在移动的时候是用裁剪窗口去判断,而不是windows窗口。// ====== Computer Graphics Experiment #6 ======// | Two-Dimensional Viewing and Clipping |// ==========================原创 2017-06-03 10:05:29 · 1325 阅读 · 0 评论 -
Bézier Spline Curves
思路:每次套公式得到x,y,的值并且逐步改变点的坐标// ====== Computer Graphics Experiment #7 ======// | Bezier curve |// =============================================//// Requirement:原创 2017-06-09 17:21:44 · 512 阅读 · 1 评论