Уроки от NeHe на masm64

Тема в разделе "WASM.OpenGL", создана пользователем Mikl___, 13 сен 2020.

  1. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    nehe.png

    1. Шаблон программы для Windows
    2. Отображение полигонов
    3. Отображение цветов
    4. Вращение полигонов
    5. Создание фигур в 3D
    6. Наложение текстуры
    7. Режимы фильтрации текстур, освещение и обработка клавиатуры
    8. Смешивание
    9. Передвижение изображений в 3D
    10. Загрузка и перемещение в трехмерном мире
    11. Эффект "флага" на OpenGL
    12. Использование cписков отображения
    13. Растровые шрифты
    14. Векторные шрифты
    15. Текстурные шрифты
    16. Эффект тумана на OpenGL
    17. Двухмерные шрифты из текстур
    18. Квадратирование
    19. Машина моделирования частиц с использованием полосок из треугольников
    20. Маскирование
    21. Линии, сглаживание, синхронизация, ортографическая проекция и звуки
    22. Наложение микрорельефа методом тиснения, мультитекстурирование и использование расширений OpenGL
    23. Квадратирование со сферическим наложением в OpenGL
    24. Лексемы, Расширения, Вырезка и Загрузка TGA
    25. Морфинг и загрузка объектов из файла
    26. Реалистичное отражение с использование буфера шаблона и отсечения
    27. Тени
    28. Фрагменты поверхностей Безье
    29. Блиттер-функция и чтение не обработанных текстур
    30. Определение столкновений и моделирование законов физики
    31. Визуализация моделей Milkshape 3D
    32. Выбор, альфа смешивание, альфа тест, сортировка
    33. Загрузка несжатых и сжатых изображений в формате TGA
    34. Построение красивых ландшафтов с помощью карты высот
    35. Проигрывание AVI файлов в OpenGL
    36. Радиальное размытие и текстурный рендеринг
    37. Мультипликационное закрашивание
    38. Загрузка текстур из файла ресурсов и текстурирование треугольников
    39. Введение в физический симулятор
    40. Моделирование движений веревки
    41. Объемный туман и загрузка изображений через интерфейс IPicture
    42. Множественные области просмотра
    43. FreeType шрифты в OpenGL
    44. Эффект световых бликов с проверкой видимости
    45. Вершинные буфера
    46. Полноэкранное сглаживание
    47. Вершинные шейдеры CG
    48. Вращение объектов с помощью класса ArcBall
    Красным отмечены уроки NeHe (2001-2007), которые переведены на masm64. На данный момент переведено 47 урока из 48. Чем дальше, тем труднее. Я был бы рад любой помощи для завершения этой работы.
    Оригинальные уроки NeHe на английском языке находятся на сайте nehe.gamedev.net В переводе уроков NeHe на русский язык приняли участие: Сергей Анисимов, Andrew Aseev, Евгений Борисов, Верисокин Владимир, Алексей Граков, Popov Denis, Евгений Захарцев, Александр Кириченко, Евгений Каратаев, Макс Махоткин, Владимир Намхоев, Alexey Okulov, Валерий Провалов, Александр Попович, Тимур Салихов, Mike Samsonov, Олег Столоногов, snegovick, Vlad Tushevskij, Vasily Chernikov, СhipSet, Геннадий Хохорин, Артем Чирцов. Тексты переведенных уроков NeHe доступны на сайте pmg.org.ru/nehe
    В сети можно найти переводы уроков NeHe (полные или частичные) собранные OpenGL Master'ом (https://github.com/gamedev-net/nehe-opengl) на следующие языки: Borland C++ Builder, Visual Studio .NET, Visual Fortran, Cygwin, Code Warrior 5.3, C#, D Language, Delphi, Dev, Visual Basic, C++, Euphoria, Game GLUT, Irix, Java, JoGL, Linux, LCC Win32, Pelles C, Power Basic, Python, masm32, Mac OS X/Cocoa, LWJGL, Linux/GLX, Linux/SDL, Visual C++/OpenIL, BeOS, VB.Net CsGL, Perl, QT/C++, REALbasic, Ruby, Scheme, Solaris, Game GLUT, Java/SWT, Jedi-SDL.

    Во вложениях include.zip и lib.zip инклюды и либы использовавшиеся для создания этих программ.


    Урок 2. Отображение полигонов
    Вывод треугольников и прямоугольников.

    02.png
    Во вложении 02.zip asm-\exe-файлы и курсор.
     

    Вложения:

    • 02.zip
      Размер файла:
      6,1 КБ
      Просмотров:
      376
    • include.zip
      Размер файла:
      406,6 КБ
      Просмотров:
      476
    • lib.zip
      Размер файла:
      304 КБ
      Просмотров:
      486
    mantissa нравится это.
  2. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 03.zip
      Размер файла:
      6,2 КБ
      Просмотров:
      352
  3. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 04.zip
      Размер файла:
      6,5 КБ
      Просмотров:
      353
  4. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 05.zip
      Размер файла:
      7,3 КБ
      Просмотров:
      377
  5. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 06.zip
      Размер файла:
      45,9 КБ
      Просмотров:
      359
  6. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 7. Режимы фильтрации текстур, освещение и обработка клавиатуры
    Три разных режима фильтрации текстур, простейшие освещение и обработка нажатия клавиш

    07.png
    Во вложении 07.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие на клавишу «L» при любой раскладке, с нажатым «капсом», «Shift» или без («L/l/Д/д») (Lighting) ― включение/выключение освещения
    • нажатие «F/f/А/а» (Filtering) ― выбор фильтра текстуры
    • нажатие «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещение куба к наблюдателю/от наблюдателя
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение скорости вращения по Y-оси
     

    Вложения:

    • 07.zip
      Размер файла:
      75,1 КБ
      Просмотров:
      333
  7. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 8. Смешивание
    Полупрозрачный ящик как пример одного из вариантов смешивания

    08.png

    Во вложении 08.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «L/l/Д/д» (Lighting) ― включение/выключение освещения
    • нажатие «B/b/И/и» (Blend) ― включение/выключение смешивания
    • нажатие "F/f/А/а" (Filtering) ― выбор фильтра текстуры
    • нажатие «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещение куба к наблюдателю/от наблюдателя
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение скорости вращения по Y-оси
     

    Вложения:

    • 08.zip
      Размер файла:
      54,1 КБ
      Просмотров:
      342
  8. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 9. Передвижение изображений в 3D
    Манипуляции с черно-белым изображением (закраска, смешивание, перемещение и 3D-вращение).

    09.png
    Во вложении 09.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «T/t/Е/е» (Twinkle) ― включение/выключение мерцания
    • нажатие «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещение к наблюдателю/от наблюдателя
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение скорости вращения по Y-оси
     

    Вложения:

    • 09.zip
      Размер файла:
      17,1 КБ
      Просмотров:
      360
  9. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 10. Загрузка и перемещение в трехмерном мире
    Загрузка простенького уровня и перемещение камеры в нем.

    10.png
    Во вложении 10.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «B/b/И/и» (Blend) ― смешивание,
    • нажатие «F/f/А/а» (Filtering) ― изменение фильтров,
    • нажатие «L/l/Д/д» (Lighting) ― включение/выключение освещения
    • нажатие «Стрелка влево/вправо/вверх/вниз» и «Page Up/Down» ― перемещение по лабиринту
     

    Вложения:

    • 10.zip
      Размер файла:
      116,5 КБ
      Просмотров:
      338
  10. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 11.zip
      Размер файла:
      15,8 КБ
      Просмотров:
      341
  11. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 12. Использование cписков отображения
    Построение Q-Bert пирамиды с помощью списка отображения.

    12.png

    Во вложении 12.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение угла поворота по X-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение угла поворота по Y-оси
     

    Вложения:

    • 12.zip
      Размер файла:
      156,8 КБ
      Просмотров:
      343
  12. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 13.zip
      Размер файла:
      6,6 КБ
      Просмотров:
      341
  13. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 14.zip
      Размер файла:
      7,2 КБ
      Просмотров:
      346
  14. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 15. Текстурные шрифты
    Специальные шрифты с наложением текстуры. Автогенерация текстурных координат.

    15.png

    Во вложении 15.zip asm-\bmp-\exe-файлы и курсор.
     

    Вложения:

    • 15.zip
      Размер файла:
      55,7 КБ
      Просмотров:
      327
  15. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 16. Эффект тумана на OpenGL
    Туман, туман, туман, кругом туман и какой-то ящик :) ...

    16.png

    Во вложении 16.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «L/l/Д/д» (Lighting) ― включение/выключение освещения
    • нажатие "F/f/А/а" (Filtering) ― выбор фильтра текстуры
    • нажатие "G/g/П/п" (Fog)― выбор типа тумана
    • нажатие «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещение куба к наблюдателю/от наблюдателя
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение скорости вращения по Y-оси
     

    Вложения:

    • 16.zip
      Размер файла:
      75,5 КБ
      Просмотров:
      324
  16. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792

    Вложения:

    • 17.zip
      Размер файла:
      57,4 КБ
      Просмотров:
      332
  17. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 18. Квадратирование
    Рисование геометрических примитивов (цилиндр, диск, сфера) с помощью Glu-функций.

    18.png

    Во вложении 18.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «пробела» ― создание сферы, диска, цилиндра, конуса
    • нажатие «L/l/Д/д» (Lighting) ― включение/выключение света
    • нажатие «F/f/А/а» (Filtering) ― выбор фильтра текстуры
    • нажатие «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещения куба к наблюдателю/от наблюдателя
    • нажатие «Стрелка влево/вправо» ― увеличение/уменьшение скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» ― увеличение/уменьшение скорости вращения по Y-оси
     

    Вложения:

    • 18.zip
      Размер файла:
      17,5 КБ
      Просмотров:
      354
  18. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 19. Машина моделирования частиц с использованием полосок из треугольников
    Фонтан из текстур, как пример системы материальных частиц.

    19.png

    Во вложении 19.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие «+/-» для ускорения/замедления
    • нажатие «Page Up/Down» для увеличения/уменьшения z-переменной и перемещения источника звезд к наблюдателю /от наблюдателя
    • нажатие «Стрелка влево/вправо» для увеличения/уменьшения скорости вращения по Х-оси
    • нажатие «Стрелка вверх/вниз» для увеличения/уменьшения скорости вращения по Y-оси
     

    Вложения:

    • 19.zip
      Размер файла:
      10,8 КБ
      Просмотров:
      338
  19. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 20. Маскирование
    Использование маски изображения для создания действительной прозрачности при выводе текстур.

    20.png
    Во вложении 20.zip asm-\bmp-\exe-файлы и курсор.
    • нажатие на «пробел» ― переключение текстур
    • нажатие на «M/m/Ь/ь» (Masking) ― включение/выключение маскирования
     

    Вложения:

    • 20.zip
      Размер файла:
      127,4 КБ
      Просмотров:
      347
  20. Mikl___

    Mikl___ Супермодератор Команда форума

    Публикаций:
    14
    Регистрация:
    25 июн 2008
    Сообщения:
    3.792
    Урок 22. Наложение микрорельефа методом тиснения, мультитекстурирование и использование расширений OpenGL
    Вроде бы обычный куб, но с микрорельефом. Возможно это Вам покажет не таким простым делом.

    22.png
    Во вложении 22.zip asm-\bmp-\exe-файлы и курсор.
    • «E/e/У/у» (Emboss/Bumpmapped Mode)― переключить режим тиснения/рельефного отображения
    • «M/m/Ь/ь» (Multitexturing)― переключить мультитекстурирование
    • «B/b/И/и» (Bumpmapping)― включить отображение рельефа. Это взаимоисключающий режим с режимом тиснения
    • «F/f/А/а» (Filtering) ― переключить фильтры.
    • КЛАВИШИ КУРСОРА ― повернуть куб
    • «Page Up/Down» ― увеличение/уменьшение z-переменной и перемещение куба к наблюдателю/от наблюдателя.
     

    Вложения:

    • 22.zip
      Размер файла:
      629,1 КБ
      Просмотров:
      349
    Aiks нравится это.