文档章节

在sublime上编译运行opengl程序

1071954237
 1071954237
发布于 2017/09/09 19:19
字数 372
阅读 23
收藏 0
  • 先安装opengl,这个网上教程很多,不再赘述 ,依次运行以下命令即可
  • ubuntu
          sudo apt-get install build-essential 
          sudo apt-get install libgl1-mesa-dev
          sudo apt-get install libglu1-mesa-dev 
          sudo apt-get install freeglut3-dev 
  • window

    首先OpenGL是已经安装到windows系统里了,不过为了使用的方便,还需要安装GLUT包。GLUT代表OpenGL应用工具包,英文全称 为OpenGL Utility Toolkit,是一个和窗口系统无关的软件包,它由Mark Kilgard在SGI时写的。wiki 点击glut-3.7.6-bin下载适用于windows的glut包。

    解压后有三个文件glut.h、glut32.dll和libglut32.a 其中glut.h放到C:\MinGW\include\GL下,glut32.dll放到C:\windows\system32下(若为64位 系统,则放到C:\windows\SysWoW64下),最后一个放到C:\MinGW\lib下。这样opengl就安装好了。

  • 配置sublime: 1.打开sublime,依次点Tools->Build System->New Build System...; 2.写入以下代码;

  • ubuntu

{
    "shell_cmd": "g++ \"${file}\" -o \"${file_path}/${file_base_name}\" \"-lGL\" \"-lGLU\" \"-lglut\"",
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "variants":
    [
        {
            "name": "Run",
            "shell_cmd": "./\"${file_base_name}\""
        }
    ]
}
  • window
{ 
    "cmd": [ "g++ $file_name -o $file_base_name -D_STDCALL_SUPPORTED -D_M_IX86 -lopengl32 -lglut32 -lglu32"],
    "working_dir": "${project_path}",
    "selector": ["source.c, source.c++"],
    "shell": true ,
    "variants": [
    {
    "name": "Run",
    "cmd": ["$file_path/$file_base_name"]
    }
    ] 
} 
  • ctrl+s保存之,自己起个名字,我的是opengl.sublime-build;
  • 测试hello world
#include <iostream>
#include <GL/glut.h>
 
void init();
void display();
 
int main(int argc, char* argv[])
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_SINGLE);
    glutInitWindowPosition(0, 0);
    glutInitWindowSize(300, 300);
    
    glutCreateWindow("OpenGL 3D View");
    
    init();
    glutDisplayFunc(display);
    
    glutMainLoop();
    return 0;
}
 
void init()
{
    glClearColor(0.0, 0.0, 0.0, 0.0);
    glMatrixMode(GL_PROJECTION);
    glOrtho(-5, 5, -5, 5, 5, 15);
    glMatrixMode(GL_MODELVIEW);
    gluLookAt(0, 0, 10, 0, 0, 0, 0, 1, 0);
}
 
void display()
{
    glClear(GL_COLOR_BUFFER_BIT);
        
    glColor3f(1.0, 0, 0);
    glutWireTeapot(3);
    
    glFlush();
}

© 著作权归作者所有

共有 人打赏支持
1071954237
粉丝 2
博文 97
码字总数 36187
作品 0
程序员
私信 提问
openGL shader实时开发

脚本开发,我们不能实时的进行效果检测和代码审查,一不小心就会造成各种运行错误和效果差异,实时的结果显示显得至关重要,本篇主要介绍一种实时的方案。 shader 调试 片元着色器使用后缀:...

osbornZ
08/29
0
0
Sublime Text 2 使用 g++4.8 编译 C++11 程序

系统中装了 g++4.8.1 后(详见《Ubuntu 12.04 安装 gcc-4.8 及 gdb 7.6》), 为了可以在 Sublime Text 2 中直接使用快捷键 Ctrl+B 和 Shift+Ctrl+B 进行编译和编译运行C++11程序, 需按以下步骤...

sailtseng
2013/10/17
0
0
终于搞清楚了为什么Java桌面程序总是感觉慢的原因

终于搞清楚了为什么Java桌面程序总是感觉慢的原因! 按照道理服务器和浏览器都在用脚本和虚拟机,那些不慢,而Java的桌面程序总是感觉响应迟钝呢?主要有两个原因,一是服务器和浏览器都是异...

openthings
2015/01/22
0
0
初学python,用Sublime Text2,怎样编译?

刚学python ,写些简单的程序,用Sublime Text2 编辑器,Sublime Text2也是初学 环境变量也设置了,在cmd里,打python 也有反应了。 可是不知道在Sublime Text2 里照着写好了程序 应该怎样运...

yangjian
2012/03/10
35.4K
8
Sublime Text 2 注册码/破解方法

Sublime Text 2 是一款非常不错的代码编辑器,特别是UI界面和速度。但这也意味着这款软件的售价达到了50美元左右。虽然它也是一款免费的软件,但免费版的会不定期弹出 付费购买页面。最近在网...

iTeacher
2013/04/13
0
2

没有更多内容

加载失败,请刷新页面

加载更多

RestClientUtil和ConfigRestClientUtil区别说明

RestClientUtil directly executes the DSL defined in the code. ConfigRestClientUtil gets the DSL defined in the configuration file by the DSL name and executes it. RestClientUtil......

bboss
今天
11
0

中国龙-扬科
昨天
2
0
Linux系统设置全局的默认网络代理

更改全局配置文件/etc/profile all_proxy="all_proxy=socks://rahowviahva.ml:80/"ftp_proxy="ftp_proxy=http://rahowviahva.ml:80/"http_proxy="http_proxy=http://rahowviahva.ml:80/"......

临江仙卜算子
昨天
9
0
java框架学习日志-6(bean作用域和自动装配)

本章补充bean的作用域和自动装配 bean作用域 之前提到可以用scope来设置单例模式 <bean id="type" class="cn.dota2.tpye.Type" scope="singleton"></bean> 除此之外还有几种用法 singleton:......

白话
昨天
8
0
在PC上测试移动端网站和模拟手机浏览器的5大方法

总结很全面,保存下来以备不时之需。原文地址:https://www.cnblogs.com/coolfeng/p/4708942.html

kitty1116
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部