OpenGL - Приложение A
Приложение A
Где взять OpenGL и другое ПО
Здесь я перечислю необходимый инструментарий для работы с книгой, и где его можно раздобыть. По минимуму вам нужен сишный компилятор и библиотека OpenGL. Основная масса примеров рассматриваются с привязкой MSVisualC++6.0, однако вы можете использовать любой другой, например фирмы Inprise, в прошлом Borland. Все примеры переносимы на другие платформы, где имеется Auxiliary Library - заголовочный файл glaux.h и линковочный модуль в Windows glaux.lib, в другой ОС он может называться по-другому. Для работы с этой книгой я рекомендую вам все же использовать MSVisualC++6.0. В книге используется OpenGL от Microsoft. Также существует реализация OpenGL от Silicon Graphics. Эта библиотека работает на 15-20% быстрее, чем фирмы Microsoft. Неудобство ее использования состоит в том, что вам придется распространять ее вместе со своими приложениями, в то время как библиотека корпорации Microsoft входит в поставку Windows и поэтому имеется на всех компьютерах.
Компилятор языка Си, как вы понимаете, покупается у соответствующего производителя. Исходный текст библиотеки GLAUX вы найдете в MSDN(Platform SDK->Reference-> Code Samples->Graphica->OpenGL->GLAUX). Ниже перечислено программное обеспечение, которое можно скопировать в Интернет:
OpenGL от Silicon Graphics | http://itsoft.miem.edu.ru/files/opengl2.exe |
Magician(OpenGL for Java) | http://www.arcana.co.uk/products/magician |
У меня на сервере имеется дистрибутив именно, той версии, которая рассматривается в книге, а то боюсь, они что-нибудь новое выпустят и оно будет не совместимо со старой версией. В дистрибутив входит программка для проверки правильности установки. Ее можно запустить из windows нажав кнопку Start->Programms->Magician->Test_Magician или Пуск->Программы->Magician->Test_Magician | http://itsoft.miem.edu.ru/files/magician.exe |
Исходные тексты программ моей книги | http://itsoft.miem.edu.ru/files/ogl_sources.zip |
Дистрибутив библиотека GLUT для работы с Microsoft OpenGL(opengl32.dll, glu32.dll) | http://itsoft.miem.edu.ru/files/glut_ms.exe |
Дистрибутив библиотека GLUT для работы с Silicon Graphics OpenGL(opengl.dll, glu.dll) | http://itsoft.miem.edu.ru/files/glut_sgi.exe |
Исходный код библиотеки GLUT | http://itsoft.miem.edu.ru/files/glut_src.exe |
Дистрибутив библиотеки GLAUX с исправленными мной ошибками | http://itsoft.miem.edu.ru/files/glaux_it.exe |
Исходный код библиотеки GLAUX с исправленными мной ошибками | http://itsoft.miem.edu.ru/files/glaux_it_src.exe |
Дистрибутив библиотеки GLAUX без исправлений | http://itsoft.miem.edu.ru/files/glaux.exe |
Исходный код библиотеки GLAUX без исправлений | http://itsoft.miem.edu.ru/files/glaux_src.exe |
Первоисточник книги и поддержка | http://itsoft.miem.edu.ru |
Авторские права и условия распространения книги
Книга состоит из двух частей. Первая часть содержит основные сведения, вторая еще не написана. В электронном виде книга распространяется бесплатно. Все права на данную книгу принадлежат мне(Игорю Тарасову). Никакая часть книги не может продаваться и использоваться для получения коммерческой выгоды без моего согласия. Вы можете свободно копировать и распространять электронную версию книги и программы, но только в том составе, который находится на моем сервере http://opengl.org.ru, с указанием первоисточника и моих авторских прав. Без моего согласия запрещается изменять содержание, гиперссылки и что-либо в книге. В мае 2000г выходит бумажный вариант, в нем будут дополнительная информация не опубликованная в электронном варианте. Рекомендую вам зарегистрировать у нас на сервере, чтобы я вас своевременно проинформировал об исправлениях и новых версиях. Книга постоянно пополняется новыми материалами. Я оставляю за собой право сократить электронную версию книги. Свои замечание и отзывы направляйте по адресу itarasov@rtuis.miem.edu.ru или опубликуйте их в гостевой книге или форуме. name=3>
Глоссарий
-
auxDIBImageLoad, 35
auxIdleFunc, 56
auxInitDisplayMode, 56
auxInitPosition, 56
auxInitWindow, 56
auxKeyFunc, 18
auxMainLoop, 56
auxMouseFunc, 18
auxReshapeFunc, 56
auxSolidBox, 9
auxSolidCone, 9
auxSolidCube, 9
auxSolidCylinder, 9
auxSolidIcosahedron, 9
auxSolidOctahedron, 9
auxSolidSphere, 9
auxSolidTeapot, 9
auxSolidTorus, 9
auxWireBox, 9
auxWireCone, 9
auxWireCube, 9
auxWireCylinder, 9
auxWireIcosahedron, 9
auxWireOctahedron, 9
auxWireTeapot, 9
auxWireTorus, 9
GL_ALPHA_TEST, 30
GL_AMBIENT, 50
GL_AMBIENT_AND_DIFFUSE, 50
GL_BACK, 25, 50
GL_BLEND, 30
GL_CLAMP, 43
GL_CLIP_PLANE, 32
GL_DECAL, 42
GL_DIFFUSE, 50
GL_EMISSION, 50
GL_FILL, 25
GL_FLAT, 29
GL_FRONT, 25, 50
GL_FRONT_AND_BACK, 25, 50
GL_LIGHT_MODEL_TWO_SIDE, 51
GL_LIGHTING, 49
GL_LINE, 25
GL_LINE_LOOP, 23
GL_LINE_STIPPLE, 23
GL_LINE_STRIP, 23
GL_LINEAR, 41
GL_LINES, 23
GL_MODELVIEW, 59
GL_MODULATE, 42
GL_NEAREST, 41
GL_POINT, 25
GL_POINT_SMOOTH, 22
GL_POINTS, 21
GL_POLYGON, 26
GL_POLYGON_STIPPLE, 33
GL_PROJECTION, 59
GL_QUAD_STRIP, 26
GL_QUADS, 26
GL_REPEATE, 43
GL_SHININESS, 50
GL_SMOOTH, 29
GL_SPECULAR, 50
GL_TEXTURE_1D, 39
GL_TEXTURE_2D, 39
GL_TRIANGLE_FAN, 25
GL_TRIANGLE_STRIP, 25
GL_TRIANGLES, 25
glBegin, 21
glBindTexture, 39
glClipPlane, 32
glColor, 8
glCopyPixels, 36
glDrawPixels, 36
glEnd, 21
glFrustum, 58
glGenTextures, 39
glLightModel, 49
glLineStipple, 23
glLineWidth, 16, 23
glLoadIndentity, 58
glMaterialfv, 50
glMatrixMode, 58
glOrtho, 58
glPixelStore, 36
glPixelZoom, 36
glPointSize, 21
glPolygonMode, 25
glPolygonStipple, 33
glPopMatrix, 10
glPushMatrix, 10
glRasterPos2d, 36
glRotate, 10, 12
glShadeModel, 29
glTexCoord, 44
glTexEnv, 42
glTexImage2D, 40
glTexParameter, 41
glTranslate, 10
GLU_FILL, 28
GLU_LINE, 28
GLU_POINT, 28
gluBuild2DMipmaps, 40
gluCylinder, 27
gluDeleteQuadric, 28
gluDisk, 27
gluLookAt, 58
gluNewQuadric, 28
gluPartialDisk, 27
gluQuadricDrawStyle, 28
GLUquadricObj, 27
gluQuadricTexture, 45
gluScaleImage, 36
gluSphere, 27
glVertex, 21
glViewport, 58