亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? texture.cpp

?? OPENGL2.0用于ARM11 3D處理
?? CPP
字號:
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>

#include <gles/gles.h>
#include <math.h>


#define PI 3.141592f

extern int ReadBmp (const char *filename, unsigned char  *buffer, int *width, int *height);
extern void WriteBmp(const char *pFilename, const unsigned int *pBuffer, int nWidth, int nHeight);

static GLint TexWidth, TexHeight;
GLubyte CheckerData[64][64][4];
GLint *ImageData1;
GLint *SubImageData1;
GLfloat texangx, texangy, texangz;

GLvoid MakeCheckerImage (GLvoid)
{
	GLint i, j, c;

	for (i = 0; i < TexHeight; i ++)
	{
		for (j = 0; j < TexWidth; j++)
		{
			c = ((((i & 0x8) == 0) ^ ((j & 0x8)) == 0)) * 255;
			CheckerData[i][j][0] = (GLubyte) c;
			CheckerData[i][j][1] = (GLubyte) c;
			CheckerData[i][j][2] = (GLubyte) c;
			CheckerData[i][j][3] = (GLubyte) 255;
		}
	}
}

GLvoid CreateImage (GLint ImageId)
{
	GLint width, height;

	switch (ImageId)
	{
	case 1:
		width = 128;
		height = 128;
		ImageData1 = (GLint*) malloc (width * height * (sizeof (GLint)));
		ReadBmp ("kat_128_128.bmp",(unsigned char*) ImageData1, &TexWidth, &TexHeight);
		break;
	case 2:
		width = 74;
		height = 94;
		SubImageData1 = (GLint*) malloc (width * height * (sizeof (GLint)));
		ReadBmp ("Amoeba_74_94.bmp",(unsigned char*) SubImageData1, &TexWidth, &TexHeight);
	}
}

GLvoid FreeImage (GLint ImageId)
{
	switch (ImageId)
	{
	case 1:
		free (ImageData1);
		break;
	case 2:
		free (SubImageData1);
		break;
	}
}


void ReSizeGLScene_Texture (int w, int h)
{
	glMatrixMode (GL_PROJECTION);
	glLoadIdentity ();
	//glFrustumf (-15.0f, 15.0f, -20.0f, 20.0f, 0.30f, 200.0f);
	glOrthof(-1.5, 1.5, -1.5*(GLfloat)h/(GLfloat)w,
         		1.5*(GLfloat)h/(GLfloat)w, -10.0, 10.0);
	glMatrixMode (GL_MODELVIEW);
	//glTranslatef (10.0, 10.0, -10.0f);

	glLoadIdentity ();

	glViewport (0, 0, w, h);
}

int InitGL_Texture (void)
{
	GLuint texName;
	GLint CurrentTexWidth, CurrentTexHeight;

	glClearColor (0.0, 0.0, 0.0, 0.0);
	glEnable (GL_DEPTH_TEST);

	glGenTextures (1, &texName);
	glBindTexture (GL_TEXTURE_2D, texName);

	glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
	glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);

	CreateImage ( 1);
	CurrentTexWidth = TexWidth;
	CurrentTexHeight = TexHeight;

	glTexImage2D (GL_TEXTURE_2D, 0, GL_RGBA, CurrentTexWidth, CurrentTexHeight, 0, GL_RGBA, GL_UNSIGNED_BYTE, ImageData1);
	FreeImage (1);

	return GL_TRUE;
}

#define LEVELS 20
#define ARCS 30 



static void DrawSphere () 
{
	GLfloat vertex[(ARCS + 1) * LEVELS * 3 * 2] = {0};
	GLfloat texture[(ARCS + 1) * LEVELS * 2 * 2] = {0};
	GLfloat x1, y1, z1, x2, y2, z2;
	GLfloat r;
	GLfloat levelstep, arcsstep;
	GLfloat cphi1, sphi1, cphi2, sphi2, ctheta, stheta;
	int index = 0; 
	int nindex = 0; 
	int tindex = 0;
	int i = 0, j = 0;
	
	glEnable (GL_TEXTURE_2D);
	glVertexPointer (3, GL_FLOAT, 0, vertex); 
//	glNormalPointer (GL_FLOAT, 0, normal);
	glTexCoordPointer (2, GL_FLOAT, 0, texture);

	r = 1;
	
	levelstep = PI / LEVELS ;
	arcsstep = (2.0f * PI) / ARCS;
	
	for (i = 0; i < LEVELS; i++) 
	{
		cphi1 = cos (i*levelstep);
		sphi1 = sin (i*levelstep);

		cphi2 = cos ((i + 1) * levelstep);
		sphi2 = sin ((i + 1) * levelstep);

		for (j = 0; j <= ARCS; j++) 
		{
			ctheta = cos (j * arcsstep);
			stheta = sin (j * arcsstep);
			x1 = r * ctheta * sphi1;
			y1 = r * stheta * sphi1; 
			z1 = r * cphi1;

			x2 = r * ctheta * sphi2;
			y2 = r * stheta * sphi2; 
			z2 = r * cphi2;


			vertex[index++] = x1;
			vertex[index++] = y1;
			vertex[index++] = z1;

			vertex[index++] = x2;
			vertex[index++] = y2;
			vertex[index++] = z2;

		/*	normal[nindex++] = ctheta * sphi1;
			normal[nindex++] = stheta * sphi1;
			normal[nindex++] = cphi1;

			normal[nindex++] = ctheta * sphi2;
			normal[nindex++] = stheta * sphi2;
			normal[nindex++] = cphi2;*/

			texture [tindex++] = j * (1.0f / ARCS);
			texture [tindex++] = i * (1.0f / LEVELS);
			
			texture [tindex++] = j * (1.0f / ARCS);
			texture [tindex++] = (i + 1) *(1.0f / LEVELS);

		}
	}
	
	glEnableClientState (GL_VERTEX_ARRAY);
	glEnableClientState (GL_TEXTURE_COORD_ARRAY);
	//glEnableClientState (GL_NORMAL_ARRAY);
	

//	glPolygonMode(GL_FRONT_AND_BACK,GL_LINE);

//	glColor4f (1.0f, 0.0f, 0.0f, 1.0f);
	
	for (i = 0; i < LEVELS; i++ ) 
	{
		glDrawArrays (GL_TRIANGLE_STRIP, i * 2.0f * (ARCS + 1) , (2.0f *(ARCS + 1)));
	}

	glDisableClientState (GL_VERTEX_ARRAY);
	//glDisableClientState (GL_NORMAL_ARRAY);
	glDisableClientState (GL_TEXTURE_COORD_ARRAY);
	glDisable (GL_TEXTURE_2D);
}



static void DrawAxis ()
{
	GLfloat axis[]  = {0.0, 0.0, 0.0, 
					   10.0 ,0.0, 0.0, 
					   0.0, 10.0, 0.0, 
					   0.0, 0.0, 10.0};
	GLubyte index[] = {0,1, 0, 2, 0,3};
	glVertexPointer (3, GL_FLOAT, 0, axis);

	glEnableClientState (GL_VERTEX_ARRAY);

	glColor4f (1.0, 1.0, 1.0, 1.0);
	glDrawElements (GL_LINES, 6, GL_UNSIGNED_BYTE, index);

	glDisableClientState (GL_VERTEX_ARRAY);
}

void TextureRender()
{
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
	
	glMatrixMode(GL_MODELVIEW);	
	glLoadIdentity();
	glRotatef (30, 1.0f, 0.0f, 0.0f);
	glRotatef (-45, 0.0f, 1.0f, 0.0f);

	DrawAxis ();
	//DrawTexRect ();
	glRotatef (texangx, 1.0f, 0.0f, 0.0f);
	glRotatef (texangy, 0.0f, 1.0f, 0.0f);
	glRotatef (texangz, 0.0f, 0.0f, 1.0f);
	DrawSphere ();

	if (texangx >= 360.0f)
	{
		texangx = 1.0f;
	}
	else
	{
		texangx += 1.0f;
	}

	if (texangy >= 360.0f)
	{
		texangy = 2.0f;
	}
	else
	{
		texangy += 2.0f;
	}

	if (texangz >= 360.0f)
	{
		texangz = 3.0f;
	}
	else
	{
		texangz += 3.0f;
	}
}


int TextureDemo()
{	
	InitGL_Texture ();
    ReSizeGLScene_Texture(WINDOW_WIDTH, WINDOW_HEIGHT);

	texangx = 0;
	texangy = 0;
	texangz = 0;

	return 1;
}

int TextureDeinit()
{
	return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情资源网| 国产精品久久久久久久裸模| 色婷婷激情久久| 91亚洲男人天堂| 色悠悠久久综合| 在线精品亚洲一区二区不卡| 色综合久久综合中文综合网| 91在线免费播放| 欧美在线免费视屏| 欧美疯狂性受xxxxx喷水图片| 在线观看91av| 久久一区二区视频| 一区视频在线播放| 一区二区三区在线观看欧美| 亚洲aaa精品| 极品瑜伽女神91| www.色综合.com| 91精选在线观看| 国产视频一区在线观看| 综合激情成人伊人| 丝袜美腿亚洲色图| 国产91综合网| 欧美日本一区二区三区四区| 精品少妇一区二区三区| 亚洲欧洲精品天堂一级| 婷婷久久综合九色国产成人| 国产乱码字幕精品高清av| 91欧美一区二区| 欧美一区二区啪啪| 国产精品久久久久影院亚瑟| 亚洲18女电影在线观看| 国内精品伊人久久久久av影院 | 精品国产一区久久| 亚洲欧美在线视频观看| 亚洲大片精品永久免费| 国产精品一区一区| 欧美精品高清视频| 中文字幕亚洲精品在线观看 | 亚洲大片一区二区三区| 久久精品国产一区二区三| 99久久免费精品高清特色大片| 欧美丰满美乳xxx高潮www| 国产喷白浆一区二区三区| 亚洲va欧美va国产va天堂影院| 国产成人精品免费一区二区| 91精品欧美综合在线观看最新| 中文字幕欧美一| 国产一区二区精品久久91| 欧美日韩美少妇| 亚洲黄色av一区| av不卡一区二区三区| 久久综合久久鬼色| 免费久久精品视频| 欧美人xxxx| 亚洲a一区二区| 91成人免费在线| 综合色天天鬼久久鬼色| 国产v综合v亚洲欧| 久久伊99综合婷婷久久伊| 日韩电影一二三区| 欧美精三区欧美精三区| 亚洲第一在线综合网站| 91老师国产黑色丝袜在线| 国产精品美女久久久久aⅴ| 国产精品996| 欧美精品一区二区精品网| 青青草国产成人av片免费 | 久久99国产乱子伦精品免费| 欧美一区二区三区视频免费 | 精品一区二区三区视频| 日韩视频免费观看高清完整版在线观看 | 午夜精品久久久久久久久久久| 色www精品视频在线观看| 亚洲精品成人悠悠色影视| 91香蕉视频黄| 亚洲精品免费看| 欧美在线一区二区三区| 亚洲国产日韩a在线播放| 欧美日韩精品福利| 丝袜亚洲另类丝袜在线| 日韩欧美中文字幕制服| 精品亚洲免费视频| 中文字幕乱码日本亚洲一区二区 | 亚洲天堂精品在线观看| 一本一本久久a久久精品综合麻豆| 亚洲女子a中天字幕| 欧美日韩一区二区三区高清| 日韩高清国产一区在线| 久久久亚洲精品一区二区三区 | 久久国产精品一区二区| 精品播放一区二区| 99久久婷婷国产| 亚洲激情图片一区| 欧美一级一区二区| 国产一区二区三区精品视频| 国产精品久久久久久久午夜片| 91色九色蝌蚪| 男女男精品网站| 国产精品国产三级国产aⅴ入口 | 在线观看日韩国产| 奇米影视7777精品一区二区| 欧美精品一区二区三区四区| 成人av在线一区二区| 亚洲最新视频在线观看| 日韩美女在线视频| 在线观看网站黄不卡| 美女视频黄 久久| 亚洲丝袜另类动漫二区| 91精品国产综合久久久蜜臀图片| 成人性视频免费网站| 丝袜脚交一区二区| 亚洲国产精品成人综合| 欧美日韩精品一区二区天天拍小说| 国产美女精品人人做人人爽| 亚洲精品网站在线观看| 久久先锋资源网| 欧美三级中文字| 国产精品77777| 亚洲不卡av一区二区三区| 国产欧美一区二区精品性色| 欧美精品在线视频| av色综合久久天堂av综合| 欧美a级理论片| 亚洲男女毛片无遮挡| 久久蜜桃av一区精品变态类天堂| 欧美视频自拍偷拍| 99热99精品| 国产老女人精品毛片久久| 亚洲成人777| 亚洲一区二区在线免费观看视频| 中文字幕av一区二区三区高| 日韩亚洲欧美综合| 欧美久久一二区| 在线视频一区二区免费| 成年人午夜久久久| 国产成人自拍网| 国产高清久久久| 国产精品系列在线播放| 欧美bbbbb| 亚洲国产成人va在线观看天堂| 综合激情成人伊人| 亚洲你懂的在线视频| 国产精品久久久久久妇女6080 | 亚洲免费观看高清在线观看| 久久久久97国产精华液好用吗| 欧美一区二区二区| 7777女厕盗摄久久久| 欧美剧在线免费观看网站| 欧美日韩卡一卡二| 欧美日韩国产一区| 欧美日韩亚洲综合一区 | 国产成人综合网站| 国产精品一二三四| 成人自拍视频在线| 成人av网站免费| 91偷拍与自偷拍精品| 91一区二区在线| 在线精品视频一区二区三四| 在线观看av不卡| 欧美日韩成人在线| 日韩久久免费av| 亚洲国产精品成人综合| 亚洲伦在线观看| 亚洲国产精品一区二区www | 成人黄色a**站在线观看| 成人免费视频免费观看| 91网站最新地址| 91精品在线观看入口| 精品国产亚洲一区二区三区在线观看| 日韩欧美在线1卡| 欧美激情在线一区二区三区| 亚洲激情综合网| 麻豆精品蜜桃视频网站| 国产成人在线电影| 欧美色综合天天久久综合精品| 欧美一区二区视频网站| 国产精品美女久久久久久2018| 亚洲美女偷拍久久| 日本在线不卡视频一二三区| 国产v日产∨综合v精品视频| 色8久久人人97超碰香蕉987| 欧美一级国产精品| 日韩一区在线看| 日本伊人色综合网| 成人免费观看av| 欧美一区二区啪啪| 国产精品传媒入口麻豆| 久久精品二区亚洲w码| 91免费视频观看| 日韩欧美在线不卡| 夜夜精品浪潮av一区二区三区| 久久成人羞羞网站| 色88888久久久久久影院野外 | 综合久久久久久久| 久久超级碰视频| 欧美三级乱人伦电影| 国产日韩成人精品| 免费精品99久久国产综合精品| 91久久精品日日躁夜夜躁欧美| 精品国产一区二区三区四区四|