Воскресенье, 22.06.2025
Мой сайт
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Главная » Гостевая книга [ Добавить запись ]

Страницы: « 1 2 ... 125 126 127 128 129 ... 141 142 »
Показано 1891-1905 из 2129 сообщений
239. ReaVeR   (28.06.2005 15:41)
0  
Текстуры в Ресурсах - Выложены небольшой набор текстур к книге, а также несколько моделей.
(8ой параграф)

я начал писать книгу о 3D; написал 1ую главу (системах координат/векторах/матрицах и т.д.). помогите оценить/исправить. :) И вообще, заходите на мой сайт. Книга лежит в Книги->Трёхмерная графика...

238. jed   (28.06.2005 15:24)
0  
1) Обычное окошко с "Отправить отчет / Не отправлять"
2)
Started Tue Jun 28 15:18:26 2005
Created resource source
ConfigParser: parsing Arwen.cfg
ConfigParser: done parsing Arwen.cfg
Creating OpenGlView
Width: 640, Height: 480 Bits per pixel: 32 Fullscreen false
Cannot locate ../Textures/font.tga
3) это я и делаю. Скачал "arwen-bin", там тоже нет текстур. Где их брать? Надеюсь они не тяжелые.

237. Алекс Боресков   (27.06.2005 11:31)
0  
А с каким сообщением вылетает ?
Что пишет в лог ?
Попробуйте запустить уже откомпилированный файл.

236. jed   (25.06.2005 17:32)
0  
Скачал engine.zip engine_libs.zip
Скомпилировал. Debug & Release
При запуске - exe вылетает.
Я чтото не так делаю?

235. Алекс Боресков   (23.06.2005 15:00)
0  
Добрый день !

Со сравнением Вы полностью правы.
С разборкой заголовка - тоже поправил, сейчас залью

234. Zombie   (23.06.2005 06:14)
0  
Доброго времени суток=)

В исправленной версии написано:
if ( ( byte & 0xC0 ) > 0xC0 ) // XXX: == 0xC0
Но тогда эта проверка никогда не пройдет ( byte ведь всегда "обрезается" максимум до 0xC0 ). Проверка
if ( byte > 0xC0 ) дает верный результат.

Прошу прощения, что не написал обо всех ошибках сразу - проверка данных в заголовке PCX-файла написана следующим образом:
if ( hdr -> numPlanes == 1 )
{
if ( hdr -> bitsPerPixel != 1 && hdr -> bitsPerPixel != 2 && hdr -> bitsPerPixel != 8 )
return NULL;
}
else
if ( hdr -> numPlanes == 3 )
{
if ( hdr -> bitsPerPixel != 1 )
return NULL;
}
else
if ( hdr -> numPlanes == 4 )
{
if ( hdr -> bitsPerPixel != 1 )
return NULL;
}
else
if ( hdr -> numPlanes == 3 )
{
if ( hdr -> bitsPerPixel != 8 )
return NULL;
}
else
return NULL;

Обратите внимание на две одинаковые проверки
if ( hdr -> numPlanes == 3 ).
Получается что при hdr -> bitsPerPixel равном 8 и трех битовых плоскостях, что вполне допускается спецификацией формата, картинка все равно будет отбракована.

233. ReaVeR   (22.06.2005 19:00)
0  
Как устроен анимированный GIF? Как надо изменить загрузчик GIF-файла чтобы поддерживать анимацию (если предположить, что записывать в текстуру нужно подряд, кадр за кадром, как массив).

P.S. как насчёт подстроить гостевуху под общий стиль сайта?

232. Алекс Боресков   (22.06.2005 19:00)
0  
Спасибо !!!
Я поправил код - теперь и мышь работает и учел Ваше замечание про РСХ

231. Zombie   (22.06.2005 03:43)
0  
Здравствуйте.

Обновленная версия у меня почему-то не воспринимает движения мыши(
Насчет декодера PCX: программа теперь не падает, но картинка загружается все равно не правильно. Дело в лишней строке
for ( int p = 0; p < hdr -> numPlanes; p++ ) // for every plane

Буквально только что заметил еще баг в том же декодере:

if ( ( byte & 0xC0 ) == 0xC0 )
{
count = byte & 0x3F;

if ( ( byte = data -> getByte () ) == -1 )
{
delete pixelBuf;
delete planeBuf;

return NULL;
}
}
else
count = 1;

Проверка if ( ( byte & 0xC0 ) == 0xC0 ) возвратит значение true даже если byte равен 0xC0. Но в таком случае count = byte & 0x3F будет равен 0, чего быть не должно. Если заменить эту проверку на
if ( byte > 0xC0 ), то при byte == 0xC0, count будет равен 1.

Отыскал в сети исходник где проверка такая же:
http://gpwiki.org/index.php/LoadPCXCpp

Удач!

230. Алекс Боресков   (21.06.2005 13:25)
0  
Большое спасибо - действительно у меня была ошибка.
Я выложил исправленную версию движка.

229. Zombie   (20.06.2005 22:15)
0  
Здравствуйте, Алекс!

При загрузке PCX-картинок с помощью исходного кода Arwen долго не мог понять почему же палитровые картинки загружаются нормально, а rgb24 запарывают прогу.

В итоге понял, что в функции
Object * PcxDecoder :: decode ( Data * data )
при распаковке RLE-данных неверно организован цикл - там написано так:
for ( int p = 0; p < hdr -> numPlanes; p++ ) // for every plane
for ( x = 0; x < hdr -> bytesPerRow; ) // real unpacking

Т.е. распаковка идет по всем битовым плоскостям по очереди, причем считается, что если байты относящиеся к одной битовой плоскости кончились, то RLE-блок тоже завершен. Это подходит для картинок с одной битовой плоскостью, но в случае 2-3 плоскостями возникает ошибка.

Я исправил код следующим образом:
for ( x = 0; x < scanLineLength; ),
где int scanLineLength = hdr -> numPlanes * hdr -> bytesPerRow;

Также заменил
for ( ; count > 0 && x < width; count--, x++ )
planeBuf [index++] = byte;
на
for ( ; count > 0 && x < scanLineLength; count--, x++ )
planeBuf [index++] = byte;


Работает =)

228. Алекс Боресков   (20.06.2005 16:43)
0  
Добрый день !

Насчет VC 7.1 - обязательно проверю, просто сейчас под рукой 7.1 (и очень не хочется ставить .net)

Про отражение - дело в том, что использование виртуального экрана возможно лишь для плоского зеркала. Если есть несколько плоских граней, то можно построить точные отражения.
А в общем случае использование виртуального экрана не будет давать точного отражения - представьте себе зеркальный чаник. На нем должны быть места, отражающие сами себя. И как это реалмизовать при помощит карты отражений. Максимум, что можно - это динамически рендерить сцену в cube map и использовать env. mapping. Но это все равно лишь приближение.

Насчет паскаля и С++ - я лично очень давно ушел с паскаля и возвращаться не собираюсь. Но это сугубо мое личное НО.
Почти в любой программистской эхе или форуме Вы найдете море писем на эту тему.

227. Ivan   (20.06.2005 06:00)
0  
Снова вопрос о Си++ и Паскале.

Здраствуйте. Так и не нашел ни одного человека, который бы сказал, в чем мощь Си. Ведь и тот и другой компилятор требует, например, описание функций, перед их использованием, и считывание кода клавиши, и реакции мышки - все то же самое. Только в Паскале там весь текст читабелен и проще, а в Си какие -то значки типа &&, !, !!, >>, <<, :: и др., что замусоривает сам текст, да и лишние они. Знаете, мне все больше и больше кажется, что программеры на си это понимают, и видят простоту Паскаля или Делфи. Но только скрепят зубами (ведь переучиваться надо) и продолжают утверждать что си это куул. Это похоже на то, что в патриархальном обществе (например совейский союз) мужики утверждали, что они умнее и лучше чем женщины, и всячески их угнетали и унижали, что бы не дай Бог женщина не показала, что она не глупее, а даже умнее и практичнее, как это видно сейчас. А вот проги, что на си, что на Паскале для Опен Джи Эл, насколько я видел, одинаково прекрасны и демонстрируют все одинаковые возможности.

226. Ivan   (20.06.2005 06:00)
0  
Зеркальность в OpenGL Здраствуйте. У меня такой вопрос. Знаю, что в программировании зеркальности или отражения используют разные искуственные методы - наприм буфер трафарета. Вообще, для истинного 3-Д моделированние аналогу трассировки лучей я не вижу, реализм настоящий, но в играх медленный и не годен. Хочу спросить про такое, а почему для имитации зеркальности не пользоваться таким реальным приемом. В месте, где нужна зеркальность, мы помещаем как бы виртуальный экран, делаем снимок этой реальной сцены (это может делать сама Опен ДжиЭл, и делаем из него текстуру, каую и проэцируем на объект, как правило сначала это - чайник :) легко и без осложнений, а активный экран снова переносим на место наблюдателя, - в принципе такое возможно ??.

225. Cpt. Gav   (18.06.2005 02:54)
0  
Здравствуйте, дорогой Алексей.
Ознакомился с вашей новой книгой. Класс. Я осознал, что вообще мало в чём рабирался. Ну, разве что диффузное освещение грамотно строил )).
Правда как всегда возникли маленькие трудности:
nmake от Студии 7.1 без ошибок компилирует примеры, вот только полученные файлы вызывают ошибку при запуске. Видимо на этапе создания окна (в консольном окне данные о драйвере отображаются корректно). А затем, как всегда, что-то пишется не по тому адресу... Подскажите выход из ситуации.
Заранее, спасибо.


Имя *:
Email *:
WWW:
Код *:
Поиск
Друзья сайта
  • Создать сайт
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Все проекты компании
  • Copyright MyCorp © 2025
    Бесплатный хостинг uCoz