Разместите нашу кнопку!

Новые статьи:

Programming articles

Создание сайтов на шаблонах

Множество вариантов работы с графикой на канве

Шифруем файл с помощью другого файла

Перехват API функций - Основы

Как сделать действительно хороший сайт

Создание почтового клиента в Delphi 7

Применение паскаля для решения геометрических задач

Управление windows с помощью Delphi

Создание wap сайта

Операционная система unix, термины и понятия

SQL враг или друг

Возникновение и первая редакция ОС UNIX

Оптимизация проекта в Delphi

Ресурсы, зачем нужны ресурсы

Термины программистов 20 века

Советы по созданию собственного сайта с нуля

Шифруем файл с помощью пароля

Фракталы - геометрия природы

Crypt - Delphi программа для шифрования

Рассылка, зачем она нужна и как ее организовать?

Учебник по C++ для начинающих программистов

Уроки для изучения ассемблера

Загадочный тип PCHAR

Средства по созданию сайтов

Операторы преобразования классов is и as

Borland Developer studio 2006. Всё в одном

Создание базы данных в Delphi, без сторонних БД


Software engineering articles



Архив рассылки

    В нашей рассылке вы узнаете о новых статьях, программах, и темах на форуме. Рассылка выходит один раз в неделю, каждый четверг.
Подписаться на рассылку можно в этой форме:
Клуб программистов
Последний выпуск

7 выпуск

КЛУБ ПРОГРАММИСТОВ

в рассылке статьи, ссылки, инфо и многое другое о программировании и программистах

Новости

Лабораторные работы

Справочники

Книги

Основы Delphi

Клуб

Чат

Форум

От ведущего

Приветствую подписчиков " Клуба программистов " и с радостью презентую вам вот уже 7 выпуск рассылки. Сегодня я приготовил обзор на тему графики в я зыке Delphi и не только, а именно об OpenGL. Может быть кому-то это все уже знакомо, кому-то не очень, а кто-то вообще впервые о таком слышит. В любом случае, краткая статья есть.

После предыдущего 6 выпуска на форуме появилась жалоба на то, что в выпуске нет обещанного юмора. Теперь он есть! ;) Существует масса интересной информации, которую хочется я помещаю в выпуски, так что кроме юмора есть и другие рубрики, которым следует уделить внимание. Конечно, юмор будет, но возможно не во всех выпусках. Кстати, сегодня я приготовил для вас ссылки на новые статьи на сайте нашего клуба. На этом все и я прощаюсь с вами до следующего четверга. Удачи!

P.S. Юмор - это не всегда смешно.

__________________________________________________________

 

Графика в Delphi . OpenGL

Вступление

Сейчас трёхмерные изображения можно увидеть везде, начиная от компьютерных игр и заканчивая системами моделлирования в реальном времени. Раньше, когда трёхмерная графика существовала только на суперкомпьютерах, не существовало единого стандарта в области графики. Все программы писались с "нуля" или с использованием накопленного опыта, но в каждой программе реализовывались свои методы для отображения графической информации. С приходом мощных процессоров и графических ускорителей трёхмерная графика стала реальностью для персональных компьютеров. Но в тоже время производители программного обеспечения столкнулись с серьёзной проблемой - это отсутствие каких-либо стандартов, которые позволяли писать программы, независимые от оборудования и операционной системы. Одним из первых таких стандартов, существующий и по сей день является OpenGL.

OpenGL - это графический стандарт в области компьютерной графики. На данный момент он является одним из самых популярных графических стандартов во всём мире. Ещё в 1982 г. в Стенфордском университете была разработана концепция графической машины, на основе которой фирма Silicon Graphics в своей рабочей станции Silicon IRIS реализовала конвейер рендеринга. Таким образом была разработана графическая библиотека IRIS GL. На основе библиотеки IRIS GL, в 1992 году был разработан и утверждён графический стандарт OpenGL. Разработчики OpenGL - это крупнейшие фирмы разработчики как оборудования так и программного обеспечения: Silicon Graphics, Inc., Microsoft, IBM Corporation, Sun Microsystems, Inc., Digital Equipment Corporation (DEC), Evans & Sutherland, Hewlett-Packard Corporation, Intel Corporation и Intergraph Corporation.

OpenGL переводится как Открытая Графическая Библиотека (Open Graphics Library), это означает, что OpenGL - это открытый и мобильный стандарт. Программы, написанные с помощью OpenGL можно переносить практически на любые платформы, получая при этом одинаковый результат, будь это графическая станция или суперкомпьютер. OpenGL освобождает программиста от написания программ для конкретного оборудования. Если устройство поддерживает какую-то функцию, то эта функция выполняется аппаратно, если нет, то библиотека выполняет её программно.

Что такое OpenGL

Что же представляет из себя OpenGL? С точки зрения программиста OpenGL - это программный интерфейс для графических устройств, таких как графические ускорители. Он включает в себя около 150 различных команд, с помощью которых программист может определять различные объекты и производить рендеринг. Говоря более простым языком, вы определяете объекты, задаёте их местоположение в трёхмерном пространстве, определяете другие параметры (поворот, масштаб, ...), задаёте свойства объектов (цвет, текстура, материал, ...), положение наблюдателя, а библиотека OpenGL позаботится о том чтобы отобразить всё это на экране. Поэтому можно сказать, что библиотека OpenGL является только воспроизводящей (Rendering), и занимается только отображением 3Д обьектов, она не работает с устройствами ввода (клавиатуры, мыши). Также она не поддерживает менеджер окон.

OpenGL имеет хорошо продуманную внутреннюю структуру и довольно простой процедурный интерфейс. Несмотря на это с помощью OpenGL можно создавать сложные и мощные программные комплексы, затрачивая при этом минимальное время по сравнению с другими графическими библиотеками.

В некоторых библиотеках OpenGL (например под X Windows) имеется возможность изображать результат не только на локальной машине, но также и по сети. Приложение, которое вырабатывает команды OpenGL называется клиентом, а приложение, которое получает эти команды и отображает результат - сервером. Таким образом можно строить очень мощные воспроизводящие комплексы на основе нескольких рабочих станций или серверов, соединённых сетью.

Основные возможности OpenGL

Что предоставляет библиотека в распоряжение программиста? Основные возможности:

  • Геометрические и растровые примитивы. На основе геометрических и растровых примитивов строятся все объекты. Из геометрических примитивов библиотека предоставляет: точки, линии, полигоны. Из растровых: битовый массив(bitmap) и образ(image)

  • Использование В-сплайнов. B-сплайны используются для рисования кривых по опорным точкам.

  • Видовые и модельные преобразования. С помощью этих преобразований можно располагать обьекты в пространстве, вращать их, изменять форму, а также изменять положение камеры из которой ведётся наблюдение.

  • Работа с цветом. OpenGL предоставляет программисту возможность работы с цветом в режиме RGBA (красный-зелёный-синий-альфа) или используя индексный режим, где цвет выбирается из палитры.

  • Удаление невидимых линий и поверхностей. Z-буферизация.

  • Двойная буферизация. OpenGL предоставляет как одинарную так и двойную буферизацию. Двойная буферизация используется для того, чтобы устранить мерцание при мультипликации, т.е. изображение каждого кадра сначала рисуется во втором(невидимом) буфере, а потом, когда кадр полностью нарисован, весь буфер отображается на экране.

  • Наложение текстуры. Позволяет придавать объектам реалистичность. На объект, например шар, накладывается текстура(просто какое-то изображение), в результате чего наш объект теперь выглядит не просто как шар, а как разноцветный мячик.

  • Сглаживание. Сглаживание позволяет скрыть ступенчатость, свойственную растровым дисплеям. Сглаживание изменяет интенсивность и цвет пикселей около линии, при этом линия смотрится на экране без всяких зигзагов.

  • Освещение. Позволяет задавать источники света, их расположение, интенсивность, и т.д.

  • Атмосферные эффекты. Например туман, дым. Всё это также позволяет придать объектам или сцене реалистичность, а также "почувствовать" глубину сцены.

  • Прозрачность объектов.
  • Использование списков изображений.

Ну и напоследок...

Заканчивая вводный рассказ про OpenGL хочется подвести некоторые итоги. Итак OpenGL представляет собой единый стандарт для разработки трёхмерных приложений, сочетает в себе такие качества как мощь и в то же время простоту. Мультиплатформенность позволяет без труда переносить программное обеспечение с одной операционной системы в другую. OpenGL предоставляет вам в распоряжение всю мощь аппаратных возможностей, которые вы имеете на данном компьютере и при написании программ вам не нужно будет беспокоится о конкретных деталях используемого оборудования, за вас побеспокоится драйвер OpenGL. OpenGL прекрасно подходит как для профессионалов так и для новичков в области компьютерной графики.

Автор: Hardwarez Community Network .

__________________________________________________________

 

Новые статьи в клубе

Возникновение и первая редакция ОС UNIX

Принято считать, что исходным толчком к появлению ОС UNIX явилась работа Кена Томпсона по созданию компьютерной игры "Space Travel". Он делал это в 1969 году на компьютере Honeywell 635, который до этого использовался для разработки проекта MAC. В это же время Кен Томпсон, Деннис Ритчи и другие сотрудники Bell Labs предложили идею усовершенствованной файловой системы, прототип которой был реализован на компьютере General Electric 645. Однако компьютер GE-645, который был рассчитан на работу в режиме разделения времени и не обладал достаточной эффективностью, не годился для переноса Space Travel. Томпсон стал искать замену и обнаружил, что появившийся к этому времени 18-разрядный компьютер PDP-7 с 4 килословами оперативной памяти и качественным графическим дисплеем вполне для этого подходит. ..

Полная версия статьи и Обсуждение на форуме

***

Оптимизац ия проекта в Delphi

Здравствуйте, программисты-делфисты. Повидал я не мало многих программ написанных на делфи. Есть хорошие, есть не очень, но их размер меня всегда поражал. 0.6, 1, 5 и даже 10 мегабайт!!! А программки то - тьфу, явно не офис или что-то громоздкое. Вот и решил я написать статью, как правильно оптимизировать свой проект так, чтоб не было казусов: программа должна 2 числа +,-,/,* а занимает места больше чем 400 Кб. Не судите строго, а если есть замечание, пишите: ZETRIX-Soft@mail.ru

  • Надо учесть для чего пишется программа, если она что-то должна выполнить, и закрыться (ничего не отображая), то не надо писать так Form1.visible:=false. Надо полностью удалить форму (View\Project Manager\Ваш проект\Unit1 и нажать кнопку Удалить. Так же, в данном случае, можно использовать Win API. Процесс создания форм, кнопок достаточно сложен (по сравнению с обычным методом), но достаточно эффективен. ..

Полная версия статьи и Обсуждение на форуме

Все эти и другие статьи вы найдете в нашем клубе .

__________________________________________________________

 

Юмор для программистов

***

Я администратор компьютерной сети. Вот один из звонков:
Добрый день. У меня очень меделенно стал работать компьютер, я пошла в магазин и мне посоветовали купить новый монитор. Я его купила (кстати TFT), принесла домой, подключила, но компьютер быстрее работать не стал!! ПОЧЕМУ ? ???

Хотите получить много $$$$$$$ ? Это просто! Нажмите клавишу Shift и, удеpживая её, - клавишу 4.

***

Заповеди программиста:
1. Если хакер у тебя украл файл, пошли ему еще два по e-mail. В твоем каталоге сроду ничего путного не водилось, а мелкий спам душу согреет.
2. Если тебя друзья величают хакером, знай, ламер ты, ибо настоящего хакера не видно, не слышно, и нет у него никаких друзей кроме компьютера.
3. Не укради программы чужой. Да и зачем тебе чужие багги, если ты от своих не знаешь, как избавится.
4. Если жена конфликтует с компьютером, брось жену. Ибо компьютер кормит тебя, удовлетворяет и развлекает лучше. А жену можно подобрать новую, побродив по сайтам знакомств.
5. Возлюби ближнего своего, но через Интернет. Ибо СПИДом от этого еще никто не заражался.
6. Лучше компьютера может быть только пиво, но одно другому не мешает.

***

Все говорят, что Windows глючит! А у меня не глючит.... может я что-то не так делаю?

***

За прошедший год провайдеры Интернета нашего города добились впечатляющих успехов: провайдер "Мираж" увеличил число своих клиентов на 108 процентов, провайдер "Некрополь" - на 163, а лидером с результатом 214 процентов стал "Фантом", подключивший к Интернету сразу два кладбища - Северное и Западное.

***

Я так долго (17 лет) хотел произвести впечатление на свою дочь. Я привозил ей из рейса кукол Синди в немыслимых нарядах, когда здесь у всех детей еще были древянные игрушки. Я бегал стометровку за 10 секунд. Я кормил ее исключительно бананами, папайей и авокадо. Я учил с ней английский с детского сада. Я написал ей книгу. Я купил ей компьютер. Я много чего еще делал, чтобы она мной наконец-то восхитилась, но все воспринималось как должное и само собой разумеющееся. И вот наконец моя мечта сбылась. Буквально месяц назад моя дочь заглянула мне через плечо, увидела мой статус (на форуме) и выдохнула:
- Папа, ты МОДЕРАТОР?!! О-о-о…

***

Суббота, в компьютерной фирме рабочий день. Телефонный звонок.
- Фирма "Логос", доброе утро
Женский голос шепотом:
- Алло
- Да, я вас слушаю
- Я вчера у вас компьютер покупала
- И?
- Вот он сломался, вы можете починить?
- Говорите громче, я вас не слышу
- Громче не могу, муж услышит - убьет.

Остальной юмор вы найдете здесь .

__________________________________________________________

 

Программистам на заметку

Если у вас есть желание поделиться своим опытом с читателями, вы являетесь обладателем ценных, интересных статей или авторских программ, а может вы просто хотите высказать свое мнение или замечание о рассылке, просто напишите мне . Я постараюсь уделить внимание каждому. А " Клуб программистов " всегда рад приветствовать в своих рядах новых пользователей.

 
 

© 2006, Кочари Арнольд и "Клуб программистов"