window下Opengl与vs2012环境配置
一、opengl与C++环境配置
1. 下载opengl包。
2. 将压缩包解压后,
(1)将.dll文件(GLU.DLL, GLUT.DLL, GLUT32.DLL)放到C:\Windows\System32目录下;
(2)将.h文件(GL.H, GLAUX.H, GLU.H, GLUT.H)放到\\Microsoft Visual Studio 11.0\VC\include\gl目录下,如果gl文件夹没有就新建;
(3)将.lib文件(glut.lib, glut32.lib, glaux.lib)放到\\Microsoft Visual Studio 11.0\VC\lib目录下;
3. 一般情况下,至此vs与opengl的环境搭建完毕,如果出现其他的问题,可能是链接库没有设置好!
4. 示例代码
#include<GL/glut.h>
// 绘制立方体
// 将立方体的八个顶点保存到一个数组里面
static const float vertex_list[][] =
{
-0.5f, -0.5f, -0.5f,
0.5f, -0.5f, -0.5f,
-0.5f, 0.5f, -0.5f,
0.5f, 0.5f, -0.5f,
-0.5f, -0.5f, 0.5f,
0.5f, -0.5f, 0.5f,
-0.5f, 0.5f, 0.5f,
0.5f, 0.5f, 0.5f,
};
// 将要使用的顶点的序号保存到一个数组里面
static const GLint index_list[][] =
{
{, }, {, }, {, }, {, },
{, }, {, }, {, }, {, },
{, }, {, }, {, }, {, }
};
// 绘制立方体
void DrawCube(void)
{
int i,j;
glBegin(GL_LINES);
for(i=; i<; ++i) // 12 条线段
{
for(j=; j<; ++j) // 每条线段 2个顶点
{
glVertex3fv(vertex_list[index_list[i][j]]);
}
}
glEnd();
} static float rotate = ;
static int times = ;
void renderScene(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
//glTranslatef(-0.2, 0, 0); // 平移
//glScalef(2, 1, 1); // 缩放
times++;
if(times > )
times = ;
if(times % == )
rotate += 0.3;
glRotatef(rotate, , , );
glRotatef(rotate, , , );
glColor3f(, , );
DrawCube();
glPopMatrix();
glutSwapBuffers();
} void main(int argc, char **argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DEPTH | GLUT_DOUBLE | GLUT_RGBA);
glutInitWindowPosition(,);
glutInitWindowSize(, );
glutCreateWindow("GLDemo");
glutDisplayFunc(renderScene);
glutIdleFunc(renderScene);
glutMainLoop();
}
二、opengl与C#环境配置
opengl与C#的环境配置,最流行的是tao库!以tao库配置为例!
1. 首先下载tao库。 http://www.taoframework.com,并安装在自己熟悉的目录下!方便寻找dll文件和相应的附录学习资源
2. 新建C#项目,并在引用栏导入tao库.dll。一般情况下最常使用的库有Tao.OpenGl、Tao.FreeGlut和Tao.Platform.Windows;
并在C#文件开头加入代码:
using Tao.OpenGl;
using Tao.FreeGlut;
using Tao.Platform.Windows;
3. 示例代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tao.OpenGl;
using Tao.FreeGlut;
namespace Okokok
{
class Program
{
static public void Display()
{ Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
Gl.glColor3d(1.0, , ); Gl.glTranslated(-,,);
Gl.glLoadIdentity();
Glu.gluLookAt(0.0,0.0,5.0, 0.0,0.0,0.0, 0.0,1.0,0.0);
//glut库中提供的画图函数
Glut.glutWireTeapot(1.5);
// Glut.glutWireIcosahedron();
// Glut.glutWireCube(1.7);
// Glut.glutWireTetrahedron();
// Glut.glutWireTorus(0.2, 1, 100, 100);
// Glut.glutWireCone(2, 1, 100, 100);
// Glut.glutWireSphere(2, 100, 100);
Glut.glutSwapBuffers(); }
static public void Reshape(int w, int h)
{
Gl.glViewport(, , w, h);
Gl.glMatrixMode(Gl.GL_PROJECTION);
Gl.glLoadIdentity();
Glu.gluPerspective(, (double)w/(double)h, , );
Gl.glMatrixMode(Gl.GL_MODELVIEW);
Gl.glLoadIdentity();
Glu.gluLookAt(0.0, 0.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0); Gl.glRotated(,, , );
}
static public void Shape()
{
Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
Glut.glutWireTeapot(1.8);
Glut.glutWireCube(1.7);
Glut.glutWireIcosahedron();
Gl.glFlush(); }
static void Main(string[] args)
{
Glut.glutInit();
Glut.glutInitDisplayMode(Glut.GLUT_RGBA | Glut.GLUT_SINGLE);
Glut.glutInitWindowPosition(, );
Glut.glutInitWindowSize(, );
Glut.glutCreateWindow("TTTTT");
Glut.glutDisplayFunc(Display);
Glut.glutReshapeFunc(Reshape);
Glut.glutMainLoop();
}
}
}
4. 问题调试:如果运行后发现问题,确少FreeGlut.dll文件,就需要重新将这个文件添加到系统目录C:\Windows\System32下。
总结,如果还有其他问题,百度之!
window下Opengl与vs2012环境配置的更多相关文章
- Windows7+VS2012下OpenGL 4的环境配置
系统环境 Windows 7 Ultimate x64,Visual Studio Ultimate 2012 Update 4,和一块支持OpenGL 4.x的显卡. 准备工作 首先用GPU Cap ...
- OS X 下 OpenGL 4.x 环境配置
配置: OS X 10.10 + CMake 3.2.2 + GLFW 3.1.1 + OpenGL 4.1 + Xcode 6.0 本文主要介绍如何在 OS X 系统下进行环境配置,使得 Xcode ...
- OpenGL C#绘图环境配置
OpenGL C#绘图环境配置 OpenGL简介 OpenGL作为一种图形学编程接口已经非常流行, 虽然在大型游戏方面DirectX有一定的市场占有率, 但由于OpenGL的开放性,可移植性等优点 ...
- Window下搭建foundation apps环境
Window下搭建foundation apps环境 框架:AngularJS.Foundation, 构建工具:Gulp, 开发环境:node.js. 操作系统:windows (一)环境准备 1 ...
- window下设置定时任务及基本配置
### window下设置定时任务及基本配置 轉載請註明出處: https://www.cnblogs.com/funnyzpc/p/11746439.html |****************** ...
- LibOpenCM3(一) Linux下命令行开发环境配置
目录 LibOpenCM3(一) Linux下命令行开发环境配置 本文使用 Linux 环境, 硬件为 STM32F103 系列开发板 LibOpenCM3 介绍 LibOpenCM3 是GPL协议( ...
- window下搭建c开发环境(GNU环境的安装)
一.在windows平台上安装GNU环境 windows操作系统不自带GNU环境,如果需要开发跨平台的C语言程序,那么需要给windows安装GNU环境 windows下的两款GNU环境:MinGW和 ...
- 【OpenGL】VS2010环境配置 [转]
基于OpenGL标准开发的应用程序运行时需有动态链接库OpenGL32.DLL.Glu32.DLL,这两个文件在安装Windows NT时已自动装载到C:\WINDOWS\SYSTEM32目录下(这里 ...
- window下eclipse搭建hadoop环境
1 生成插件jar 1.1 安装java,ant运行环境 1.2 下载hadoop-2.5.0.tar.gz并解压到指定目录 1.3 下载hadoop2x-eclipse-plugin-master. ...
随机推荐
- 【C/C++】知识点
1.C++中的参数传递机制:值传递.指针传递.引用传递 2.C++的内部类和外部类: 一个讲得不错的博客,不过不让转载:C++内部类 3.static 可以修饰局部变量.全局变量和函数. 不可修饰类! ...
- bitmap自己项目中处理遇到的问题
String path = "图片路径";Bitmap bitmap = BitmapFactory.decodeFile(path);安卓处理图片都是Bitmap,然后取到图片的 ...
- FZU 1075 分解素因子【数论/唯一分解定理/分解素因子裸模板】
[唯一分解定理]:https://www.cnblogs.com/mjtcn/p/6743624.html 假设x是一个正整数,它的值不超过65535(即1<x<=65535),请编写一个 ...
- 机器学习(4):数据分析的工具-pandas的使用
前面几节说一些沉闷的概念,你若看了估计已经心生厌倦,我也是.所以,找到了一个理由来说一个有兴趣的话题,就是数据分析.是什么理由呢?就是,机器学习的处理过程中,数据分析是经常出现的操作.就算机器对大量样 ...
- 10.1综合强化刷题 Day2 afternoon
最大值(max) Time Limit:1000ms Memory Limit:128MB 题目描述 LYK有一本书,上面有很多有趣的OI问题.今天LYK看到了这么一道题目: 这里有一个长度为n的 ...
- SecureCRT同时向多个终端发送命令
1.[View]->[Command Window] 2.[Send Command to]->[All Sessions] 参考: http://www.netingcn.com/sec ...
- Atom打开大文件卡死的问题替代方案
无解,本身是网页的框架,所以直接换回ST或者Notepad++吧.
- IOS开发self.的用法总结
如果声明的是retain类型的,然后使用self.的话此时引用计数会加1,变成1,如果同时又使用了alloc,那么引用计数又加一变成了2,那么如果只是release一次的话就会内存泄漏. 这种情况下的 ...
- Speech to Text for iOS
找了一下 speech to text 可以用的 SDK for iOS 以下幾種方案: NDEV Mobile (有免費方案,不過似乎不支援離線,客戶清單中有 wallmart,支援不少語言) iS ...
- 关于Sending build context to Docker daemon 数据很大的问题
以往进行docker build的时候都是在新建的文件夹下面进行,这次为了图方便,就直接放在开发根目录下进行build,这样子问题就来了.于是就有了下面的文件大小发送量: Sending build ...