OpenGL实验八犹他茶壶光照、阴影、纹理


OpenGL实验八犹他茶壶光照、阴影、纹理,光照效果源码、阴影效果源码、纹理效果源码,及实验截图、实验报告。
资源截图
代码片段和文件信息
// glutEx1.cpp : 定义控制台应用程序的入口点。
//
#include 
#include 
#include 
#include “glut.h“

#define BITMAP_ID 0x4D42
#define Height 16
#define Width 16

GLubyte image[Height][Width][3];  // 图像数据

float fTranslate;
float fRotate;
float fScale     = 1.0f;    // set inital scale value to 1.0f

int status = 0;
int status2 = 1;
bool bPersp = false;
bool bAnim = false;
bool bWire = false;

int wHeight = 0;
int wWidth = 0;

GLuint texture[3];
void Draw_Leg();

// 纹理标示符数组,保存两个纹理的标示符
// 描述: 通过指针,返回filename 指定的bitmap文件中数据。
// 同时也返回bitmap信息头.(不支持-bit位图)


//读纹理图片
unsigned char *LoadBitmapFile(char *filename BITMAPINFOHEADER *bitmapInfoHeader)
{
    FILE *filePtr;    // 文件指针
    BITMAPFILEHEADER bitmapFileHeader;    // bitmap文件头
    unsigned char    *bitmapImage;        // bitmap图像数据
    int    imageIdx = 0;        // 图像位置索引
    unsigned char    tempRGB;    // 交换变量

                                // 以“二进制+读”模式打开文件filename 
    filePtr = fopen(filename “rb“);
    if (filePtr == NULL) {
        printf(“file not open
“);
        return NULL;
    }
    // 读入bitmap文件图
    fread(&bitmapFileHeader sizeof(BITMAPFILEHEADER) 1 filePtr);
    // 验证是否为bitmap文件
    if (bitmapFileHeader.bfType != BITMAP_ID) {
        fprintf(stderr “Error in LoadBitmapFile: the file is not a bitmap file
“);
        return NULL;
    }
    // 读入bitmap信息头
    fread(bitmapInfoHeader sizeof(BITMAPINFOHEADER) 1 filePtr);
    // 将文件指针移至bitmap数据
    fseek(filePtr bitmapFileHeader.bfOffBits SEEK_SET);
    // 为装载图像数据创建足够的内存
    bitmapImage = new unsigned char[bitmapInfoHeader->biSizeImage];
    // 验证内存是否创建成功
    if (!bitmapImage) {
        fprintf(stderr “Error in LoadBitmapFile: memory error
“);
        return NULL;
    }

    // 读入bitmap图像数据
    fread(bitmapImage 1 bitmapInfoHeader->biSizeImage filePtr);
    // 确认读入成功
    if (bitmapImage == NULL) {
        fprintf(stderr “Error in LoadBitmapFile: memory error
“);
        return NULL;
    }
    //由于bitmap中保存的格式是BGR,下面交换R和B的值,得到RGB格式
    for (imageIdx = 0;imageIdx < bitmapInfoHeader->biSizeImage; imageIdx += 3) {
        tempRGB = bitmapImage[imageIdx];
        bitmapImage[imageIdx] = bitmapImage[imageIdx + 2];
        bitmapImage[imageIdx + 2] = tempRGB;
    }
    // 关闭bitmap图像文件
    fclose(filePtr);
    return bitmapImage;
}

//加载纹理的函数
void texload(int i char *filename)
{
    BITMAPINFOHEADER bitmapInfoHeader;                                 // bitmap信息头
    unsigned char*   bitmapData;                                       // 纹理数据

    bitmapData = LoadBitmapFile(filename &bitmapInfoHeader);
    glBindTexture(GL_TEXTURE_2D texture[i]);
    // 指定当前纹理的放大/缩小过滤方式
    glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MAG_FILTER GL_NEAREST);
    glTexParameteri(GL_TEXTURE_2D GL_TEXTURE_MIN_FILTER GL_NEAREST);

    glTexImage2D(GL_TEXTURE_2D
        0         //mipmap层次(通常为,表示最上层) 
        GL_RGB    //我们希望该纹理有红、

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     156311  2017-12-11 01:08  OpenGL实验八犹他茶壶光照、阴影、纹理1500170434-杨美美-实验8犹他茶壶.docx

     文件      31232  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)DebugopenGL_circle_test.exe

     文件     344560  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)DebugopenGL_circle_test.ilk

     文件     510976  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)DebugopenGL_circle_test.pdb

     文件    2359296  2017-10-24 12:05  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)ipchopengl_circle_test-7f0dc184opengl_circle_test-e685a681.ipch

     文件       1754  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugcl.command.1.tlog

     文件      16410  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugCL.read.1.tlog

     文件       1226  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugCL.write.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink-cvtres.read.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink-cvtres.write.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.6200-cvtres.read.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.6200-cvtres.write.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.6200.read.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.6200.write.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.7724-cvtres.read.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.7724-cvtres.write.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.7724.read.1.tlog

     文件          2  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.7724.write.1.tlog

     文件       2048  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.command.1.tlog

     文件       4586  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.read.1.tlog

     文件       1288  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebuglink.write.1.tlog

     文件        500  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugmt.command.1.tlog

     文件        462  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugmt.read.1.tlog

     文件        462  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugmt.write.1.tlog

     文件        406  2017-10-24 12:00  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.exe.embed.manifest

     文件        472  2017-10-24 12:00  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.exe.embed.manifest.res

     文件        381  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.exe.intermediate.manifest

     文件         74  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.lastbuildstate

     文件       2524  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.log

     文件      34927  2017-10-24 12:06  OpenGL实验八犹他茶壶光照、阴影、纹理openGL_test(纹理)openGL_circle_testDebugopenGL_circle_test.obj

............此处省略135个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)