Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.129.13.201] |
|
Сообщ.
#1
,
|
|
|
После выхода в свет статьи «Программирование с использованием DirectX9» возникло несколько проблемных мест в коде этой статьи. Все спорные моменты касательно этой статьи просьба обсуждать здесь.
|
Сообщ.
#2
,
|
|
|
При отсутствии установленого SDK необходимо скачать файл, распаковать и
разместить заголовочные файлы в директорию \Include, а d3d9.lib в директорию \lib или скинуть их, например, на диск D:\, после чего подправить 2ю и 4ю строки #include<d:\d3d9.h> #pragma comment(lib, "d:\\d3d9.lib") Прикреплённый файлd3d.rar (27.66 Кбайт, скачиваний: 623) |
Сообщ.
#3
,
|
|
|
В случае использования VisualC++ 2005, необходимо подкорректировать установки проекта
Цитата Hryak @ переключите проект на ANSI после создания: в свойствах проекта выберите General / Character Set: Use Multi-Byte Character Set |
Сообщ.
#4
,
|
|
|
Если проект после компиляции запускается и сразу же прекращает выполнение
|
Сообщ.
#5
,
|
|
|
Цитата orb @ Если проект после компиляции запускается и сразу же прекращает выполнение То причина может быть не только в этой строке... Советую сделать хотябы так: hWnd=CreateWindowEx(WS_EX_TOPMOST, "DirectX 9", "DirectX 9", WS_POPUP, 0, 0, 800, 600, NULL, NULL, hThisInst, NULL); if(!hWnd) { MessageBox(0,"Unable to create window!","Error",MB_ICONEXCLAMATION); return(false); } if(FAILED(pDirect3D->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd, D3DCREATE_HARDWARE_VERTEXPROCESSING, &Direct3DParametr, &pDirectDevice))) { MessageBox(hWnd,"Unable to initialize D3D!","Error",MB_ICONEXCLAMATION); return(false); } |
Сообщ.
#6
,
|
|
|
Я тут на Delphi закодил два примера из первого урока. По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом.
Прикреплённый файлD3D9_Leson1.zip (55.54 Кбайт, скачиваний: 357) |
Сообщ.
#7
,
|
|
|
Цитата Pavia @ Я тут на Delphi закодил два примера из первого урока. По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом. Это уроки, так что здесь можно все в кучу скидывать, хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки. А если писать полноценный движок, то надо разделять все достаточно сильно, вплоть до отдельных функций. |
Сообщ.
#8
,
|
|
|
Цитата Pavia @ По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом Цитата Axis @ как раз думаю писать продолжение, теперь в сомнениях насколько дробить и дробить ли вообще? А может не со второго урока, а дальше когда пойдут шейдеры/текстуры/модели??? Это уроки, так что здесь можно все в кучу скидывать, хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки |
Сообщ.
#9
,
|
|
|
Цитата Pavia @ По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом Цитата Axis @ Какие есть мысли по поводу разделения?хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки Подходит второй урок, думаю разбиватьна 3 части: 1. Окно виндовс 2. Инициализация 3Д, загрузка координат обьектов, удаление ресурсов 3. рендер, матрицы, рисование примитивов, ...... |
Сообщ.
#10
,
|
|
|
разделил, какие есть замечания предложения ?
Прикреплённый файлLess2.rar (6.12 Кбайт, скачиваний: 368) |
Сообщ.
#11
,
|
|
|
А.
Пытался к 1му уроку дорисовать 8й треугольник: 1. добавил массив точек - координат углов 8го треугольника 2. Изменил 21 на 24 в CreateVertexBuffer (число точек) 3. Установил число отрисовываемых треугольников равным 8 в DrawPrimitive Не отрисовывается... почему? не пойму... хэлп, плиз. Б. Пытался изменить координаты 7го треугольника. Такие: Оригинальные: { 150.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 400.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 275.0f, 360.0f, 0.0f, 1.0f, 0x00ff0000, }, Модифицировал к { 200.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 350.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 275.0f, 360.0f, 0.0f, 1.0f, 0x00ff0000, }, Модифицировал к { 350.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 300.0f, 130.0f, 0.0f, 1.0f, 0x00ff0000, }, { 275.0f, 360.0f, 0.0f, 1.0f, 0x00ff0000, }, поигрался, вроде понял: такое ощущение, что вершины должны описываться в определённом порядке - по часовой стрелке. Есть что-то об этом? Собственно вопрос снимается... но автору возможно стоит добавить либо в статью, либо... Добавлено файл 2го урока вижу, а где статья? Не могу найти Добавлено И если можно, прицепите, плиз, файлы для 2го урока: d3dx9.h, d3dx9.lib, которые не были нужны в 1м. Добавлено Если статья для 2го урока только готовится, то я бы разделения не делал. Проще все держать в 1 срр-файле, чем в проекте. Да и вынесение нешаблонного кода в аш-файлы для меня выглядит спорным вопросом... вобщем вся суть в тексте статьи, а если начнёте разделять, то это вызовет больше вопросов, чем закроет. Если разделять, то тогда ещё и враппер писать... Кстати, наверняка уже и готовых полно. |
Сообщ.
#12
,
|
|
|
Ого, какой баянище откопали... Даже как-то мимо меня прошел...
Цитата Budda @ Если статья для 2го урока только готовится Гм... Год уже как готовится? Гм... |
Сообщ.
#13
,
|
|
|
Цитата barazuk @ кто ждет. тот дождется Год уже как готовится? |
Сообщ.
#14
,
|
|
|
Цитата Budda @ упущение поигрался, вроде понял: такое ощущение, что вершины должны описываться в определённом порядке - по часовой стрелке вершины должны описываться по часовой стрелке |
Сообщ.
#15
,
|
|
|
Если нормаль не задается программой, а рассчитывается библиотекой.
|
Сообщ.
#16
,
|
|
|
Вышла вторая статья
|
Сообщ.
#17
,
|
|
|
Хе-хе, поздравляю!!!
|
Сообщ.
#18
,
|
|
|
Цитата barazuk @ пасибопоздравляю!!! Тебя тоже С новым годом !!! |
Сообщ.
#19
,
|
|
|
С новым годом. Ну ноконецто следующая статья.
Матрица проекции (Projection Matrix) – создает проекцию 3D сцены на экран монитора. С ее помощью объект трансформируется, начало координат переносится в переднюю часть, а также определяется передняя и задняя плоскости отсечения. Не понял куда переноситься? Долго же статью публиковали. Новерно надо было дать задание повернуть сердечко по кругу двумя способами с поворотом и без ;-) PS. Исходники на Delphi. Прикреплённый файлD3D9_Leson2.zip (2.8 Кбайт, скачиваний: 175) |
Сообщ.
#20
,
|
|
|
Цитата Pavia @ СпасибоНе понял куда переноситься? Пофиксю Там текст будет еще доработан, как то мало я чего растолковал |
Сообщ.
#21
,
|
|
|
Откройте тайну, плиз, ибо смотрел здесь: http://sources.ru/ и не нашёл новинок... ?
Где статья то? |
Сообщ.
#22
,
|
|
|
http://www.sources.ru/magazine/1207/index.html
Добавлено http://sources.ru/magazine/0906/08.html - это первая Сообщения были разделены в тему "Визуализация облака точек" |
Сообщ.
#23
,
|
|
|
orb продолжение цикла намечается? Собственно говоря хотелось бы раскрытия темы про создания объекта в 3д редакторе (3dMax, Maya, но желательнее в Blendere) с дальнейшим импортом в программу DirectX.
Просмотрел пока первую статью: sizeof(stVertex) желательно заменить на 21*sizeof(CUSTOMVERTEX), на конечном результате разницы никакой, но первый вариант намекает что sizeof это функция, хоть это не так. |
Сообщ.
#24
,
|
|
|
Цитата BugMeNot @ за 2 года я забросил Директ Х и занялся веб-разработками продолжение цикла намечается? так что в ближайшем будещем от меня врядли будет продолжения, но любой желающий может продлить цикл статей и получить за это деньги а по графике идут другие статьи. не от меня http://sources.ru/magazine/1009/irrlicht_engine.html http://magazine.sources.ru/2010/03/nonapolis_com/ http://magazine.sources.ru/2010/03/create_mmorpg/ скоро будет ДиректХ + VBA |
Сообщ.
#25
,
|
|
|
Цитата BugMeNot @ с дальнейшим импортом в программу DirectX. утилита conv3ds в помощь (делает *.3ds -> *.x) |