Основано на реальных событиях :)
- Монитор ушел в режим энергосбережения
- У вас два видеовыхода, и вы не угадали, подключая монитор
- Пока вы отвлеклись, запустился скринсейвер, но ваша программа захватила фокус ввода, и теперь вы не можете ничего сделать
- Вы забыли про переключение буферов. Все рисуется правильно, но не показывается на экране
- У вас проблема с памятью – вы рисуете не в ту область, которая отображается на мониторе
- Сцена слишком сложная, и CPU или GPU завис перед тем, как первый кадр успел отрисоваться до конца
- Ближняя плоскость отсечения дальше дальней
- При обходе BSP-дерева каждый раз выбрасываются обьекты не по ту сторону плоскости; весь мир скрывается за углом
- Вы забыли задать своим обьектам bounding boxes, и все они отбрасываются, как слишком маленькие
- У вас баг в коде работы с матрицами. Весь мир схлопнулся в (0,0,0)
- У вас баг в коде работы с кватернионами. Все вращающиеся обьекты схлопнулись в точки.
- Вы неправильно отбрасываете задние грани обьектов. Все грани успешно отброшены.
- Угол обзора слишком большой, и весь мир схлопнулся в точку в центре экрана
- Угол обзора слишком маленький. Единственный тексель, который видно в камеру, некстати оказался черным.
- Вы перепутали координаты центра экрана, и вся сцена рендерится мимо (после чего отбрасывается)
- Вы используете палитрованные текстуры, но забыли установить палитру – все цвета теперь черные
- Проблема с масштабом: сцена, мягко говоря, большая. Вы рассматриваете единственный тексель какого-то треугольника.
- Проблема с масштабом: сцена маловата. Весь мир занимает где-то полпикселя в центре экрана (Или не в центре)
- Камера за сценой, и смотрит не в ту сторону. Обернитесь назад, вверх, вниз, и т.д.
- Вы сделали освещение, но забыли добавить лампочек. Мир покрыт мраком.
- Вы забыли установить текстуры. Вся сцена рендерится пустой текстурой (белой, черной, прозрачной – как повезет)
- Вы забыли настроить текстурные координаты. Вся сцена окрашена в цвет пикселя (0,0) соответствующих текстур
- Вы пытаетесь делать целочисленное умножение чисел, меньших единицы. В результате получаются нули.
- Вы забыли сдвинуть обьекты в мировых координатах и относительно камеры. Теперь вы смотрите на все видимые обьекты сцены сразу, изнутри, и отсечка задних граней успешно добивается того, что ничего не видно.
- Вы не снимаете матрицы со стека трансформаций. Через пару кадров стек переполнился.
- В алгоритмы проверки столкновений вкралась ошибка. Обьект, к которому прикреплена камера, провалился сквозь пол и с огромной скоростью летит в пустоту, в то время как мир скрывается (за дальней гранью отсечения) далеко вверху.
- В вашем вертексном шейдере вкралась ошибка, и вся сцена находится за камерой
- Ваш пиксельный шейдер не скомпилировался, и дефолтный шейдер окрасил всё черным.
- Вы забыли очистить Z-буфер, и все ваши пиксели отбрасываются.
- Туман в сцене гуще, чем в плохой пародии на Шерлока Холмса
- Вы напортачили с альфа-каналом, и весь мир полностью прозрачен
- Вы смотрите на черную стену.
- Игровая логика решила, что самое время для затухания экрана (например, при смене уровней)
- С вашими данными все в порядке, но какой-то левый указатель портит что-то одно. Или всё сразу.
- Поверх сцены изображается меню. Или интерфейс. К сожалению, из-за ошибки они вышли немного великоватыми, и угол буквы А накрывает весь экран чернотой.
- В вашем radiosity-симуляторе слишком мало фотонов
- Ваш шейдер обьемных обьектов слишком непрозрачен.
- Ваши BRDF (функции отражения света поверхностями) недостаточно отражающие
- Что-то случилось со счетчиком времени, и все обьекты уже мертвы. Или еще не создались.
- Где-то в коде есть пометка FIXME, которую действительно пора бы поправить…
(Перевод поста http://dmalcolm.livejournal.com/2433.html )