iPhone�Q�[���J���ɕK�{��OpenGL ES�B���̃R�[�f�B���O�Ɏ肱�����Ă�����ɗL�p�ȃc�[�����Љ�ȒP�ȃT���v�����쐬���܂�
�@iPhone�p�̃Q�[���J���ɂ́AOpenGL ES�i���j���������܂���B
��OpenGL ES�iOpenGL for Embedded Systems�j
�g�я��[����g�ݍ�������OpenGL�̃T�u�Z�b�g�BOpenGL�́A��ʓI�ɕ��y���Ă���O���t�B�b�N�X�v���O���~���O�p��C/C++��API�̂���
�@�������A���߂�OpenGL ES��G��l�ɂ́A���\�Ƃ����ɂ����̂ł͂Ȃ��ł��傤���H iPhone�Ŗʔ����A�C�f�A���v���t���A�Q�[���A�v�����J���������Ǝv�����Ƃ��ɁA�v���O���}�ł����Ă��AOpenGL ES��Ɗw�ŏK�����邱�Ƃ́A�����n�[�h�����������Ƃ������ł��B
�@�����ŁA�A�ڍŏI��ł��鍡��́A�܂��V�K�v���W�F�N�g�̃e���v���[�g���J�X�^�}�C�Y���Ă������ƂŁA�s���~�b�h��`���v���O����������Ă݂܂��傤�B
�@�܂��A�f�U�C�i��Flash�J���҂ɂƂ��Ă��AOpenGL ES�̏K���ɂ͑啝�Ȏ��Ԃ������邱�Ƃ��\�z����܂��B����Ȑl�X�ɂƂ��ėL�p�ł���Q�[���J���v���b�g�t�H�[���uUnity�v���Љ�A���̐����i��ʍ\����j���[�Ȃǁj�����Ȃ���A�ȒP�ȃT���v�����쐬���A���@��iPhone�ɃC���X�g�[�����ē������܂��B
�@Unity���Љ��O�ɁA�܂���iPhone SDK�ɂ��J���ŁAOpenGL ES���g�����s���~�b�h�̕`������Ă݂܂��傤�B�V�K�v���W�F�N�g�쐬�ɂāuOpenGL ES Application�v��I�т܂��B
�@�v���W�F�N�g���́uGLPyramid�v�Ƃ��܂����B
�@�v���W�F�N�g��Classes�t�H���_�����Ă݂�ƁAES1Renderer�ƁAES2Renderer������Ǝv���܂��BES2Renderer�̕��́AOpenGL ES 2.0��p����Ƃ��Ɏg�p������̂ŁAES1Renderer��p����������G�Ȃ��Ƃ��\�ł��BiPhone3G�ł͎g�����AiPhone3GS�ł����g���܂���B����́AES1Renderer���̗p���܂��B
�@EAGLView.m��initWithCoder�̒��ŁA�����_�������Ă��܂����A���̍�OpenGL ES 2.0���g���邩�ǂ������肵�āA�g����Ȃ��ES2Renderer���A�g���Ȃ����ES1Renderer���w�肷��d�g�݂ɂȂ��Ă��܂��BOpenGL ES 2.0���g����Ƃ��Ă��AinitWithCoder�̒���ES1Renderer���̗p����悤�ɏ��������Ă݂܂��傤�B
renderer = [[ES2Renderer alloc] init]; �� renderer = [[ES1Renderer alloc] init];
�@�f�t�H���g�̏�Ԃł́A���F�̎l�p�`���㉺�^�����܂��B������~�߂܂��傤�B���L�̕������R�����g�A�E�g���܂��B
//static float transY = 0.0f; �c�y�����z�c //glTranslatef(0.0f, (GLfloat)(sinf(transY)/2.0f), 0.0f); //transY += 0.075f;
�@glTranslatef���́A���W���w�肵���ʒu�Ɉړ���������������Ă��܂��B���̊��̑�2������y���W���������̂ŁA�����ɖ���0.075����������transY��sinf���ɓ��ꂽ���̂����邱�ƂŁA�㉺�^���̂��߂̍��W�ϊ����s���Ă��܂��B�R�����g�A�E�g���Ď��s����ƁA�㉺�^�����~�܂����̂�������܂��B
�@�����ɍL����3D��Ԃ̒��̂ǂ̕�����`�悷�邩�i���̐ρj��glFrustumf���Œ�`���܂��B���̐ς͎�O�̏����Ȏl�p�`�A���̑傫�Ȏl�p�`�ɋ��܂ꂽ��Ԃł��BOpenGL ES�ł́A���_��(0,0,0)�ƂȂ��Ă��܂��B
glMatrixMode(GL_PROJECTION); glLoadIdentity(); // ���̐ς��` glFrustumf(-0.3f, 0.3f, -0.2f, 0.2f, 0.5f, 50.0f); glMatrixMode(GL_MODELVIEW); glLoadIdentity();
�@��1�������珇�ɁA�ȉ���\���Ă��܂��B
�@�f�t�H���g�ł�z���W�͎g�킸�ɁA2������Ԃ�squareVertices[]�Œ��_���w�肵�Ďl�p�`��`�悵�Ă��܂����B��قǎ��̐ς��`�����̂ŁA2������Ԃł͂Ȃ�3������ԂɃI�u�W�F�N�g���`�悳���悤�ɂȂ�܂����B�����ŁAsquareVertices[]�̒��_��z���W���lj����Ă݂܂��傤�B
static const GLfloat squareVertices[] = { -0.5f, -0.33f, -1.0f, 0.5f, -0.33f, -1.0f, -0.5f, 0.33f, -1.0f, 0.5f, 0.33f, -1.0f, };
�@���ɁA����squareVertices��ǂݎ���Ē��_�����ۂɐ������Ă��镔����������܂��傤�B�f�t�H���g�ł́AsquareVertices�̗v�f��2���ǂݎ���Ē��_��(x,y)�̌`�Ő������܂��B�����3���ǂݎ����(x,y,z)�̌`�Ő�������悤�ɏ��������܂��傤�B
glVertexPointer(2, GL_FLOAT, 0, squareVertices); �� glVertexPointer(3, GL_FLOAT, 0, squareVertices);
�@���y�[�W�ł́A����������OpenGL ES���g�����s���~�b�h�̕`�悪�ł��܂��B���̌�A�`���ŏЉ��Unity�ɂ��ĉ�����܂��B
Copyright © ITmedia, Inc. All Rights Reserved.