Содержание
- 2. Создадим 3D-модель куба, центр которого находится в начале координат, а длина грани равна 2 единицам (так
- 3. Подготовим текстуру (текстура прикреплена ниже) размером 512х1024 пикселей в формате ВМР (Paint вам в помощь). Находим
- 4. Приступаем к написанию программы. #include #include #include #include #include #include "glaux.h" using namespace std; #pragma comment
- 5. GLuint texture[1];// Массив для хранения индексов текстур //Функция для загрузки текстур void LoadBMP(GLuint* texture, const char*
- 6. void CALLBACK resize(int width,int height) { glViewport(0, 0, width, height); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(45.0, (GLfloat)width / height,
- 7. float tx1=0,ty1=0,tx2=0,ty2=0,tx3=0,ty3=0,tx4=0,ty4=0;// Переменные(глобальные) для хранения текстурных координат(будут вычисляться для каждой грани) //Функция рисования грани void DrawQuadT(float
- 8. //функция рисования кубика с текстурой void DrawRubik() { //1 – передняя грань glNormal3d(0,0,1); tx1 = 335/1024.f;
- 9. //2 – левая грань glNormal3d(-1,0,0); tx1 = 164/1024.f; ty1 = (512-342)/512.f; tx2 = 335/1024.f; ty2 =
- 10. //4 – задняя грань glNormal3d(0,0,-1); tx1 = 676/1024.f; ty1 = (512-342)/512.f; tx2 = 850/1024.f; ty2 =
- 11. //6 – нижняя грань glNormal3d(0,-1,0); tx1 = 335/1024.f; ty1 = 0; tx2 = 506/1024.f; ty2 =
- 12. void main() { auxInitPosition( 0, 0, 600, 600); auxInitDisplayMode( AUX_RGB | AUX_DEPTH | AUX_DOUBLE ); auxInitWindow(
- 14. Скачать презентацию