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. ...
随机推荐
- Google 最新的 Fuchsia OS【科技讯息摘要】
转自:http://www.cnblogs.com/pied/p/5771782.html 就是看到篇报道,有点好奇,就去FQ挖了点东西回来. 我似乎已开始就抓到了重点,没错,就是 LK . LK 是 ...
- s 中日期 转换成时间戳 例如2013-08-30 转换为时间戳
以前遇到过一个关于时间戳的问题,为了不被大家鄙视,先说一下概念. 具体时间戳怎么定义的我也不清楚,但百度百科中有这么一句:“时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)至当前时 ...
- 转:C#制作ORM映射学习笔记一 自定义Attribute类
之前在做unity项目时发现只能用odbc连接数据库,感觉非常的麻烦,因为之前做web开发的时候用惯了ORM映射,所以我想在unity中也用一下ORM(虽然我知道出于性能的考虑这样做事不好的,不过自己 ...
- MQ 分拆Json数据包然后上传
public void UploadInsurHistory() { using (IDbConnection connection = ConnConfig.DmsConnection) { IDb ...
- HTML5-contentEditable属性规定是否可编辑元素的内容
contentEditable='true' :可以编辑 contentEditable='false' :不可以编辑
- Careercup | Chapter 1
1.1 Implement an algorithm to determine if a string has all unique characters. What if you cannot us ...
- ios为app应用添加icon
在工程中打开plist文件,添加,选择icon files,然后添加不同分辨率的icon名称即可.如果clean后再运行程序还是没有看到效果,那么就删除掉app包然后 再次运行就可以看到效果了.
- Android Gradle 经验总结
用过android studio的对gradle应该都不陌生了,gradle文件的基本配置大同小异,略做了解使用应该是没什么问题了.但是深入细致的了解一下对于理解项目还是很有帮助的,尤其是遇到一些配置 ...
- web.config配置数据库连接 【转】
http://www.cnblogs.com/breezeblew/archive/2008/05/01/1178719.html 第一种: 取连接字符串 = System.Web.Configura ...
- TensorFlow笔记六:基于cifar10数据库的AlexNet识别
准确率只有70%,cpu版本的TF居然跑了两天才跑完,其他方法将继续尝试. 生成数据目录: import numpy as np import os train_label = {} for i in ...