91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

本程序為OpenGL紋理貼圖小程序,圖片格式為png。代碼中如有疑問請指出,會為你一一解答。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?“pngtools.h“

#ifdef?__APPLE__
#include???????????//?OS?X?version?of?GLUT
#else
#define?FREEGLUT_STATIC
#include?????????????//?Windows?FreeGlut?equivalent
#endif

#include?
using?namespace?std;

GLfloat?vertexArray[12]?=?{-0.9f?-0.9f?0.0f
???????????????????????????????????????????????0.9f?-0.9f?0.0f
???????????????????????????????????????????????0.9f??0.9f?0.0f
??????????????????????????????????????????????-0.9f??0.9f?0.0f??};

GLfloat?texCoord[8]?=?{?0.0f?0.0f
?????????????????????????????????????????1.0f?0.0f
?????????????????????????????????????????1.0f?1.0f
?????????????????????????????????????????0.0f?1.0f?};

pngtexture?*PNGTex;

GLuint?vao;
GLuint?vertex_buffer;
GLuint?texture_buffer;
GLuint?TextureID;
GLuint?vert_shader?frag_shader;
GLuint?program;

/************************************************************************************/
void?ChangeSize(int?w?int?h)
{
????glViewport(0?0?w?h);
}

/************************************************************************************/
#include?
#include?
#define?MAX_SHADER_LENGTH?8192
#define?MAX_TARGET_NUM??10

GLchar?shaderText[MAX_SHADER_LENGTH];

void?gltLoadShaderSrc(const?char?*szShaderSrc?GLuint?shader)
{
????GLchar?*fsStringPtr[1];

????fsStringPtr[0]?=?(GLchar?*)szShaderSrc;
????glShaderSource(shader?1?(const?GLchar?**)fsStringPtr?NULL);
}

bool?gltLoadShaderFile(const?char?*szFile?GLuint?shader)
{
????GLint?shaderLength?=?0;
????FILE?*fp;

????//?Open?the?shader?file
????fp?=?fopen(szFile?“r“);
????if(fp?!=?NULL)
????{
????????//?See?how?long?the?file?is
????????while?(fgetc(fp)?!=?EOF)
????????????shaderLength++;

????????//?Allocate?a?block?of?memory?to?send?in?the?shader
????????assert(shaderLength?????????if(shaderLength?>?MAX_SHADER_LENGTH)
????????{
????????????fclose(fp);
????????????return?false;
????????}

????????//?Go?back?to?beginning?of?file
????????rewind(fp);

????????//?Read?the?whole?file?in
????????if?(shaderText?!=?NULL)
????????????fread(shaderText?1?shaderLength?fp);

????????//?Make?sure?it?is?null?terminated?and?close?the?file
????????shaderText[shaderLength]?=?‘\0‘;
????????fclose(fp);
????}
????else
????????return?false;

????//?Load?the?string
????gltLoadShaderSrc((const?char?*)shaderText?shader);

????return?true;
}

void?SetupRC()
{
????glClearColor(1.0f?1.0f?1.0f?1.0f);

????PNGTex?=?ReadPNGFromFile(“map.png“);

????glGenVertexArrays(1?&vao);
????glBindVertexArray(vao);

????glGenBuffers(1?&vertex_buffer);
????glBindBuffer(GL_ARRAY_BUFFER?vertex_buffer);
????glBufferData(GL_ARRAY_BUFFER
?????????????????4?*?sizeof(GLfloat)?*?3
?????????????????vertexArray?GL_STATIC_DRAW);

????glVertexAttribPointer(0?3?GL_FLOAT?GL_FALSE?0?(void?*)0);
????glEnableVertexAttribArray(0);

????glGenBuffers(1?&texture_buffer);
???

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-14?13:16??PNG_texture\
?????文件?????????287??2017-12-27?16:47??PNG_texture\Identity.fp
?????文件?????????327??2017-12-27?16:47??PNG_texture\Identity.vp
?????文件????????5338??2016-10-11?13:30??PNG_texture\main.cpp
?????文件????63443043??2017-12-27?16:47??PNG_texture\map.png
?????文件????????4446??2016-10-11?13:30??PNG_texture\pngtools.cpp
?????文件?????????382??2016-10-11?13:27??PNG_texture\pngtools.h
?????文件?????????308??2016-10-11?12:58??PNG_texture\Rectangle.pro

評論

共有 條評論