`
daojin
  • 浏览: 677770 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

OpenGL书和资源

 
阅读更多


y. As an additional reference, you might look at the chapter on texture mapping in
《Fundamentals of Three-Dimensional Computer Graphics by Alan Watt (Reading, Mass.: Addison-Wesley, 1990).》

 

Textures are simply rectangular arrays of data - for example, color data, luminance data, or color and alpha data. The individual values in a texture array are often called texels .

 

 

 

Example 9-1 : A Texture-Mappedfs Checkerboard: checker.c

#include <GL/gl.h>
#include <GL/glu.h>
#include "aux.h"

#define    checkImageWidth 64
#define    checkImageHeight 64
GLubyte checkImage[checkImageWidth][checkImageHeight][3];

void makeCheckImage(void)
{
    int i, j, r, c;

       for (i = 0; i < checkImageWidth; i++) {
        for (j = 0; j < checkImageHeight; j++) {
            c = ((((i&0x8)==0)^((j&0x8))==0))*255;
            checkImage[i][j][0] = (GLubyte) c;
            checkImage[i][j][1] = (GLubyte) c;
            checkImage[i][j][2] = (GLubyte) c;
        }
    }
}

void myinit(void)
{
    glClearColor (0.0, 0.0, 0.0, 0.0);
    glEnable(GL_DEPTH_TEST);
    glDepthFunc(GL_LEQUAL);

    makeCheckImage();
    glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
    glTexImage2D(GL_TEXTURE_2D, 0, 3, checkImageWidth, 
        checkImageHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, 
        &checkImage[0][0][0]);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER,
        GL_NEAREST);
    glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, 
        GL_NEAREST);
    glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
    glEnable(GL_TEXTURE_2D);
    glShadeModel(GL_FLAT);
}

void display(void)
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glBegin(GL_QUADS);
    glTexCoord2f(0.0, 0.0); glVertex3f(-2.0, -1.0, 0.0);
    glTexCoord2f(0.0, 1.0); glVertex3f(-2.0, 1.0, 0.0);
    glTexCoord2f(1.0, 1.0); glVertex3f(0.0, 1.0, 0.0);
    glTexCoord2f(1.0, 0.0); glVertex3f(0.0, -1.0, 0.0);

    glTexCoord2f(0.0, 0.0); glVertex3f(1.0, -1.0, 0.0);
    glTexCoord2f(0.0, 1.0); glVertex3f(1.0, 1.0, 0.0);
    glTexCoord2f(1.0, 1.0); glVertex3f(2.41421, 1.0, -1.41421);
    glTexCoord2f(1.0, 0.0); glVertex3f(2.41421, -1.0,-1.41421);
    glEnd();
    glFlush();
}

void myReshape(GLsizei w, GLsizei h)
{
    glViewport(0, 0, w, h);
    glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    gluPerspective(60.0, 1.0*(GLfloat)w/(GLfloat)h, 1.0, 30.0);
    glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glTranslatef(0.0, 0.0, -3.6);
}


int main(int argc, char** argv)
{
    auxInitDisplayMode (AUX_SINGLE | AUX_RGBA | AUX_DEPTH);
    auxInitPosition (0, 0, 500, 500);
    auxInitWindow (argv[0]);
    myinit();
    auxReshapeFunc (myReshape);
    auxMainLoop(display);
}
 
分享到:
评论

相关推荐

    OGLPG-9th-Edition.zip OpenGL编程指南代码(包括资源文件)

    OGLPG-9th-Edition.zip OpenGL编程指南(红皮书)包括资源文件OGLPG-9th-Edition.zip OpenGL编程指南(红皮书)包括资源文件OGLPG-9th-Edition.zip OpenGL编程指南(红皮书)包括资源文件OGLPG-9th-Edition.zip OpenGL编程...

    Mac上构建OpenGL红宝书上的triangles程序

    该资源是花了不少时间查阅资料处理的,最终实现仅依赖系统带的OpenGL和GLUT,在Mac上运行红宝书的第一个程序-triangles。 文件(格式.tar.gz压缩包)包含的清单如下: LoadShaders.cpp LoadShaders.o triangles ...

    关于《计算机图形学编程(使用Opengl和c++)》资源环境

    这本书有些资源地址已经失效,所以将lib和include所需文件压缩上传

    OpenGL超级宝典第五版环境搭建资源和随书源码

    最近开始学习OpenGL超级宝典(第五版),书上提供的网站下载不到所需要的环境配置和源码,搞了一天,终于跑起来了,将资源提供给大家,避免卡在学习的开始。

    opengl红宝书源代码

    《Open GL编程指南(原书第7版)》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉,资源为本书源代码

    OpenGL超级宝典第五版源码环境资源包

    这是一个关于 OpenGL超级宝典 第五版的原书的源码包加上可运行的EXE文件与需要环境搭建的库资源,方便初学OpenGL蓝宝书的快速入门。

    opengl红宝书代码

    本资源是opengl红宝书上的例子源代码,对学习opengl的人来说,是很好的资源~

    52128计算机图形学编程(使用OpenGL和C++).zip

    本学期上图形学编程课,老师提供的辅助材料,无任何版权问题,可以拿去边看书,边翻阅,里面包含ppt,以及程序的参考答案。

    [OpenGL] OpenGL 开发超级圣经 (英文版)

    ☆ 资源说明:☆ [Addison-Wesley Professional] OpenGL 开发超级圣经 (英文版) [Addison-Wesley Professional] OpenGL SuperBible Comprehensive Tutorial and Reference 5th Edition (E-Book) ☆ 图书概要:☆ ...

    OpenGL-RedbookCode

    《Open GL编程指南》对OpenGL以及OpenGL实用函数库进行了全面而又权威的介绍,素有“OpenGL红宝书”之誉。《Open GL编程指南》以清晰的语言描述了OpenGL的功能以及许多基本的计算机图形技巧,例如创建和渲染3D模型、...

    OpenGL编程技术详解书内源码

    &lt;&lt;OpenGL编程技术详解&gt;&gt;书中的所有示例程序,学习与练习过程中按照书中示例编写,VS.NET直接通过编译,与大家共享资源,如果大家有更好的建议或编程技巧等希望也与我共享,共同进步

    Opengl ES 3.x开发上下册以及随书源码

    OpenGL ES 3.x开发上下册,高清可用,是学习OpenGL 开发很好的资源,以及随书源码

    OpenGL编程指南(第八版)(红宝书)

    OpenGL编程指南(第八版)(红宝书) 高清中文完整版! 内含资源下载地址。

    OpenGL Programming Guide(8th) 无水印pdf

    OpenGL Programming Guide(8th) 英文无水印pdf 第8版 pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请...

    OpenGL ES应用开发实践指南 Android卷

    android开发者学习Opengl ES的绝好资料,书中所有代码均有整理,Github地址:https://github.com/1531074759/OpenGL

    OpenGL ES 2.0

    Android OPenGl ES 2.0 的开发文档,不可多得的书哦。。 很火的一本书,搞出来不容易 。。

    OpenGL编程指南(原书第8版) 中文PDF 高清晰版 第四部分

    opengl编程指南第八版,中文,高清,有目录,全本,pdf,由于文件过大,分四部分上传,下载的时候需要将五部分全部下载下来放在一起,然后才可以解压。随书源码可在我本人的资源空间进行下载全部都是免费的

    OpenGL编程指南(原书第8版) 中文PDF 高清晰版 第五部分

    opengl编程指南第八版,中文,高清,有目录,全本,pdf,由于文件过大,分四部分上传,下载的时候需要将五部分全部下载下来放在一起,然后才可以解压。随书源码可在我本人的资源空间进行下载全部都是免费的

    [OpenGL] OpenGL 开发经典实例 (英文版)

    ☆ 资源说明:☆ [Packt Publishing] OpenGL 开发经典实例 (英文版) [Packt Publishing] OpenGL Development Cookbook (E-Book) ☆ 出版信息:☆ [作者信息] Muhammad Mobeen Movania [出版机构] Packt ...

Global site tag (gtag.js) - Google Analytics