• 大小: 19.39MB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2023-06-19
  • 语言: 其他
  • 标签: 犹他茶壶  

资源简介

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\n“);
        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\n“);
        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\n“);
        return NULL;
    }

    // 读入bitmap图像数据
    fread(bitmapImage 1 bitmapInfoHeader->biSizeImage filePtr);
    // 确认读入成功
    if (bitmapImage == NULL) {
        fprintf(stderr “Error in LoadBitmapFile: memory error\n“);
        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(纹理)\Debug\openGL_circle_test.exe

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

评论

共有 条评论

相关资源