Йа волосат и бородат!
Надоедает уже париться с Линухом. Пока что мои возможности ограничены установкой/настройкой/удалением пакетов, причем из Иксов (граф. оболочка) - а хочется большего. Надо осваивать консоль, но очень острая нехватка мануала.

Консоль сделал графической... для новичка - это много, т.к. в Дебианской документации по GRUB'у этого нет вообще. Типа, не может. :)



Надоело быть ограниченным графическим интерфейсом, хочу в свободу консоли! Viva console!



PS: Скоро буду переставлять ядро... Ых...

19:26

Йа волосат и бородат!
Вот чего только не сделаешь для дяди Миши - качаю пакеты для Кубунты, учусь настраивать.

Линух рулит.

14:19

Йа волосат и бородат!
Вчера наконец-то посмотрел "Silent Hill". Фильм моих ожиданий не опреавдал - он оказался не страшный, а, скорее, грустный. Впрочем, это даже лучше - картина запомнилась и "запала", в отличие от того же "Resident Evil", который посмотрел и забыл. Да, "СХ" я посмотрел бы и по второму или даже третьму разу. Впечатление от фильма сравнимо с "Донни Дарко" или "Трое из Бундока", которые я пересматривал не раз. Кстати, очень хотелось бы найти утерянных "Троих" и посмотреть снова...



еще посмотрел значениее слова "крамола". И в каком месте я мятежник??? О_о

20:46

Йа волосат и бородат!
Мне очень стыдно за революцию и СССР.



ЗЫ: Мне сказали, что я опасный человек за свой крамольный ум.

15:03

Йа волосат и бородат!
"Мы едем в танке,

Как мухи в банке -

Нам ничего больше не грозит.

Мы солнце любим,

Наш дом на Кубе -

Там, где построен социализм."



(с) I.F.K. - "В танке".

Йа волосат и бородат!



Йа волосат и бородат!



11:10

Development

Йа волосат и бородат!
Читал пару дней назад книгу про шейдеры на OpenGL. Там описывалась проблема, связанная с использованием графических ускорителей на разных платформах. Оригинальное решение - разработчики написали отдельный язык шейдеров на основе ANSI C и встроили его не куда-нибудь, а прямо в драйвер OpenGL. Другими словами, внутри драйвера сидит компилятор и компоновщик, которые могут зохавывать код на языке шейдеров; а т.к. это - составляющие драйвера, то код может подаваться на компиляцию даже в время работы проектируемого приложения. Оригинальный подход, блин - я б до такого в жизни не додумался бы.



Теперь - о главном. Вообще, граф. ускоритель состоит из 2 основных составляющих - вершинный процессор и фрагментный процессор. В вершинном процессоре происходит обработка модели в обьектном пространстве, т.е. точки модели рассматриваются в 3-х и 4-х мерные. Соответственно, верш. процессор может выполнять операции поворота модели, расчета нормалей к поверхности, расчета цвета, определения координат текстуры и др. операций, связанных с объектным пространством. Фрагментный процессор работает уже в пространстве изображения. Он выполняет операции проецирования фрагмента, обработки изображения наложением различных эффектов (например, дымки или размытости), смешиванием цветов или наложением текстуры.

Саму работу всей этой конструкции можно охарактеризовать, если вспонить, что такое конечный автомат или, хотя бы, машина Тьюринга. По сути - разработчики OpenGL сделали драйвер, являющийся конечным автоматом с офигенным количеством состояний. На вход подается исходная модель в виде массива полигонов и пр. :), которая обрабатывается в зависимости от заданных параметров (т.е. от заданного начального состояния) и на выходе получаем изображение на экране. Внутри драйвера происходит повершинная(!) обработка каждого из полигонов сначала вершинным процессором, а затем - результат работы передается во фрагментный процессор, который генерирует фрагмент изображения и лепит его в буфер кадра. Можно заметить, что такой принцип работы (процессоры работают независимо друг от друга) ускоряет работу с графикой, т.к. позволяет обрабатывать данные параллельно, в отличиее от реализации на WinAPI.



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



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

Хорошее решение предлагает использование шейдеров - можно перегрузить фрагментный шейдер своим, в котором реализуется алгоритм прозрачности с двойной буферизацией. Т.к. OpenGL поддерживается на большинстве ОС (хоть WinOS, хоть Linux) и имеет собственный компилятор, то проблем с совместимостью возникать не должно. (разве только интерфейсная часть). Единственное требование к этому подходу - аппаратная часть должна поддерживать шейдеры хотя бы первую версию. Однако, с учетом того, что нынешние видео-карты поддерживают 3ю версию, то проблем с этим возникать не должно.

23:26

Йа волосат и бородат!
Продолжаем тихо сходить с ума.

Йа волосат и бородат!
Угнаться за моим "хочу" просто невозможно.

Может, остановиться на чем-то одном? Да все равно ведь долго не протерплю...



Так часто напеваю, что стало уже чуть ли не девизом:

"Куда ты плывешь, крыша моя?

В какие реки, в какие моря?.." (с)

Йа волосат и бородат!
Chaotic Neutral, буквально на границе с Chaotic Good. Увы. Лучше бы был Evil.

Йа волосат и бородат!
0

12:34

Йа волосат и бородат!
Ненавижу выбирать "меньшее из двух зол."

Одни говорят - "думай о себе", другие - "думай о других", а третьи - молчат.



Грустная ситуация, когда приходится выбирать - либо поступать против своих же моральных принципов, либо - терять что-то очень-очень дорогое.

Так и стоишь, как известный осел меж двух стогов сена.



А выбирать надо.

01:30

Йа волосат и бородат!
И опять я не могу спать... :((

Почему же так хочется напиться?.. :( Причин же нет.



Семестр начался... а идти на пары абсолютно не хочется.

Охота просто исчезнуть, испариться. А еще никого не хочу видеть...



А завтра снова начнется с "А-а-н-то-о-ша, вылей ведро!", "А-а-н-то-о-ша, принеси чаю!", "А-а-н-то-о-ша, а к чаю что-нить есть?" и т.д...



Не хочу просыпаться.

21:55

Йа волосат и бородат!
День прошел тупо.

Йа волосат и бородат!
И нафига я проснулся???



*ушел обратно спать*

19:17

Йа волосат и бородат!
Блин, напугали вчера...

У нас в расписании поставили 24ю неделю ДО первой. 24я - это та, что идет прямо сеейчас.

22:36

Итого

Йа волосат и бородат!
Сессию закрыл.

Оценки: 3, 3, 3, 4.

Странно, но мне как-то абсолютно на все это плевать.



Сессия кончилась, радоваться надо, а не радуется.

19:38

Йа волосат и бородат!
Сижу, пытаюсь заставить себя читать ТРПО. Не идет.

Порезался листом бумаги. Идиотизм какой-то.

Плевать, что будет завтра.



Я могу только ждать... снова и снова...



Здесь ничего не меняется.

@музыка: Калугин - Туркестанский экспресс

@настроение: Усталость

13:45

Йа волосат и бородат!
"Пользуйтесь на экзамене чем хотите - все равно будет устная беседа" - так заявил Ризванов на консультации. Не по себе оттого, что учить ничего не надо. Как-то необычно - не знаешь, чем заняться: толь читать, толь лабу по ИГС доделывать...



Кстати, о птичках. Народ, что сортировал полигоны по z-координате, чтобы ОпенГЛ их отображал в соответствующем порядке - занимались идиотством (с)Орехов, заставляя заниматься этим и систему, отнимая драгоценное процессорное время. А проблема решается всего-навсего вот так:

glEnable( GL_DEPTH_TEST );

glClear( GL_DEPTH_BUFFER_BIT );


и - вуаля! - у нас есть встроенный ГЛевский z-буфер!

А ларчик просто открывался... впрочем, все как обычно.



Кстати, с ОпенГЛ я лабу сделал. Выкладываю туда же.