`
isiqi
  • 浏览: 16851936 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

用UBuntu开发OpenGL程序1

 
阅读更多

开发环境:
UBuntu9.10 Desktop x86,NetBeans6.8,OpenGL2.1


安装开发需要的库
OpenGL网站上有这么一句话(http://www.opengl.org/wiki/Getting_started#Linux):
Linux comes with Mesa libraries, which implements the OpenGL API as a software rasterizer.
在Mesa网站上,目前最新的版本是7.7,支持OpenGL2.1,但是受限制于具体驱动程序,并不能保证完全支持所有的API.

可以下载源代码编译安装,不过先从简单的开始,在UBuntu上面安装已经编译好的Mesa库和开发文件。

首先确保编译器等库已经被安装:
sudo apt-get install build-essential

执行下面的命令,将Mesa7.6.0安装到系统中。
sudo apt-get install libgl1-mesa-dev

下面安装两个增强库:
sudo apt-get install libglu1-mesa-dev
这个库是对OpenGL的增强

sudo apt-get install libglut-dev
这个库是对OpenGL窗口的增强和上面那个增强库的增强


现在编写代码:(抄来的,参考http://wiki.ubuntu-tw.org/index.php?title=Howto_Install_OpenGL_Development_Environment)
#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();
}


在NetBeans工程中设置link所需要的库,可以参考下图:


继续选中libGLU.so和libglut.so文件。
然后编译链接通过,
/usr/bin/make -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-conf
make[1]: 正在进入目录 `/home/chenshu/svnclient/MyCodes/OpenGL1'
/usr/bin/make -f nbproject/Makefile-Debug.mk dist/Debug/GNU-Linux-x86/opengl1
make[2]: 正在进入目录 `/home/chenshu/svnclient/MyCodes/OpenGL1'
mkdir -p build/Debug/GNU-Linux-x86
rm -f build/Debug/GNU-Linux-x86/main.o.d
g++ -c -g -MMD -MP -MF build/Debug/GNU-Linux-x86/main.o.d -o build/Debug/GNU-Linux-x86/main.o main.cpp
mkdir -p dist/Debug/GNU-Linux-x86
g++ -o dist/Debug/GNU-Linux-x86/opengl1 build/Debug/GNU-Linux-x86/main.o -lGL -lGLU -lglut
make[2]:正在离开目录 `/home/chenshu/svnclient/MyCodes/OpenGL1'
make[1]:正在离开目录 `/home/chenshu/svnclient/MyCodes/OpenGL1'
BUILD SUCCESSFUL (total time: 804ms)


运行程序:



今天就到这里。明天会继续探索这些API的功能。




分享到:
评论

相关推荐

    用UBuntu开发OpenGL程序6 源代码

    本资源包含了一篇关于在Ubuntu上使用NetBeans 6.8开发OpenGL程序的文章,并附带了源代码,便于读者实践和学习。 首先,OpenGL是一个低级的图形库,它不关心窗口系统或用户输入,而是专注于图形渲染。这使得它在游戏...

    用UBuntu开发OpenGL程序8

    摄像头360度旋转示例 开发平台,UBuntu,NetBeans6.8

    ubuntu-Qt5.3-OpenGL-teapot

    在本文中,我们将深入探讨如何在Ubuntu操作系统上利用Qt 5.3框架开发OpenGL应用程序,以实现经典的“茶壶”(teapot)渲染。Qt是一个跨平台的应用程序开发框架,支持多种操作系统,包括Ubuntu,而OpenGL则是一个强大...

    ubuntu下用opengl绘制简单图像

    给定的代码片段是一个简单的OpenGL程序示例,展示了如何在Ubuntu环境下使用OpenGL绘制一个动态的、旋转的点集。以下是代码的关键部分解析: 1. **OpenGL状态设置**: - `glClear(GL_COLOR_BUFFER_BIT)`:清空颜色...

    ubuntu18.04 opengl开发源码(显示yuv)

    首先,要开始Ubuntu 18.04上的OpenGL开发,你需要安装`libgl1-mesa-dev`和`libglew-dev`包,它们提供了OpenGL的头文件和库。使用以下命令安装: ```bash sudo apt-get update sudo apt-get install libgl1-mesa-dev...

    linux-ubuntu-opengl-demo.zip

    在Linux Ubuntu系统中,OpenGL的使用通常涉及到一系列步骤和技术,包括窗口管理、纹理处理、着色器编程以及摄像机设置。这个"linux-ubuntu-opengl-demo.zip"压缩包很可能是为了演示这些关键概念。 首先,让我们深入...

    ubuntu下 qt5.5 利用opengl画3d坐标系

    在Ubuntu 16.04操作系统中,Qt 5.9.0是一个强大的跨平台应用程序开发框架,广泛用于创建图形用户界面。而OpenGL是一个开放源代码的图形库,专门用于生成2D、3D图像。在Qt中集成OpenGL,可以实现高性能的图形渲染。本...

    在Ubuntu Linux中设置OpenGL开发环境

    接下来,编写你的第一个OpenGL程序。通常,这将包括包含GL/glut头文件,定义窗口大小,主循环,以及渲染函数。例如,一个简单的“Hello, Triangle”程序可能会如下所示: ```cpp #include void display() { ...

    openGL开发所需glsl的封装glad.zip

    在Ubuntu系统中开发OpenGL程序时,通常会遇到一些必要的库和工具,其中glsl(OpenGL Shading Language)是编写着色器的重要语言,而glad则是用于加载和管理OpenGL函数指针的库。 标题中的"openGL开发所需glsl的封装...

    Opengl在vs下C#语言的环境配置+所需安装包

    通过以上步骤,你应该能够在Visual Studio环境下配置好OpenGL与C#的开发环境,开始编写和运行OpenGL应用程序。在开发过程中,记得查看OpenGL和OpenTK的官方文档,以及相关的教程和示例代码,这将极大地帮助你理解和...

    openGLES简单学习-demo

    openGLES在Android系统中广泛应用于游戏开发、图像处理和科学可视化等领域。 **3D图形基础** 在开始学习openGLES之前,我们需要了解一些3D图形的基本概念。3D空间是由三个轴组成的:X轴、Y轴和Z轴。每个物体可以由...

    基于opengl和GLSL的鱼眼全景图

    4. **纹理映射**:使用OpenGL的纹理映射功能,将全景图贴合到球体表面。这一步需要GLSL中的纹理采样指令,确保每个球面上的点都对应全景图上的正确位置。 5. **渲染与显示**:最后,OpenGL会将处理后的图像渲染到...

    openGL开发基本窗口库glfw-3.3.3.tar.gz

    在Ubuntu系统中,开发OpenGL程序时,通常需要一个库来帮助创建并管理窗口,这就是GLFW(OpenGL Function Wrapper)的作用。 GLFW是一个开源库,其最新版本为3.3.3,它为OpenGL提供了一个简洁、跨平台的API,用于...

    Ubuntu下Qt静态编译以及使用

    本文将详细介绍如何在 Ubuntu 系统下进行 Qt 的静态编译,并使用编译好的静态库来构建应用程序。 #### 二、为什么要进行 Qt 的静态编译? 通常情况下,Qt 提供的是动态链接库(Dynamic Link Libraries, DLLs),这...

    ubuntu下使用SDL和FFmpeg进行播放视频文件和实时流媒体

    在Ubuntu操作系统中,使用SDL(Simple DirectMedia Layer)和FFmpeg库进行音视频播放和实时流媒体处理是一项常见的任务。这两个强大的开源工具为开发者提供了在Linux环境下构建多媒体应用的便捷途径。 SDL是一个跨...

    OpenGL实现离屏渲染(Offscreen Render),

    这个初级的OpenGL程序Demo就是围绕离屏渲染展开的,旨在帮助初学者理解这一概念。 在OpenGL中,通常的渲染流程是将图形绘制到默认的帧缓冲区,然后显示在屏幕上。离屏渲染则是在一个自定义的帧缓冲对象...

    OpenGL的Alpha混合(演示程序+源代码)

    操作说明: [w][s][a][d]键:控制最中间的方块移动。...程序在Windows使用minGW编译。我的开发环境是: Windows:Windows8+QtCreator2.6+QtSDK4.8.4+minGW4.4.1。 Linux:Ubuntu11.10+QtCreator2.4+QtSDK4.8.1+gcc4.4

    Ubuntu 18.04下搭建嵌入式QT开发环境.doc

    整个过程结束后,你将在Ubuntu 18.04上拥有一个完整的嵌入式Qt开发环境,可以编写、编译和调试针对嵌入式设备的应用程序。注意,对于不同的嵌入式平台,可能需要调整一些配置和依赖,确保所有库和工具都适合目标硬件...

    ubuntu20.04下QT安装

    在Ubuntu 20.04操作系统中安装QT开发环境是一个重要的步骤,对于任何希望使用Qt进行跨平台应用程序开发的开发者来说都是必要的。以下是一个详细且全面的指南,涵盖了从安装基础开发工具到设置Qt环境的整个过程。 ...

Global site tag (gtag.js) - Google Analytics