На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела "Программирование графики"
1) Данный раздел предназначен для обсуждения проблем, возникающих при программировании задач, связанных с чтением, сохранением, обработкой, созданием, отрисовкой графической информации (в том числе - 3D [OpenGL, Direct3D] и анимации [в т.ч. VFW, DirectShow, OpenDML]).
Флэш обсуждают здесь!.

2) Если вы хотите получить совет для конкретной платформы/языка программирования, обязательно укажите их в вопросе.

3) Уважаемые новички! Мы приветствуем Ваше желание научить всех посетителей раздела правильному программированию. Но огромная просьба, перед тем, как писать поучения в старых (последний ответ - "старее" месяца, а особенно, если вопрошавший не появляется на форуме уже не первый месяц, в чем можно убедиться в его профиле) темах, хорошо подумать, будет ли кому-нибудь, кроме Вас cамих, это интересно.



Ваше мнение о модераторах: user posted imageBarazuk, user posted imageOpenGL, user posted imageMikle
Модераторы: OpenGL, Mikle
  
> Статьи по DirectX , Журнал
    После выхода в свет статьи «Программирование с использованием DirectX9» возникло несколько проблемных мест в коде этой статьи. Все спорные моменты касательно этой статьи просьба обсуждать здесь.
      При отсутствии установленого SDK необходимо скачать файл, распаковать и
      разместить заголовочные файлы в директорию \Include, а d3d9.lib в директорию \lib
      или скинуть их, например, на диск D:\, после чего подправить 2ю и 4ю строки
      #include<d:\d3d9.h>
      #pragma comment(lib, "d:\\d3d9.lib")
      Прикреплённый файлПрикреплённый файлd3d.rar (27.66 Кбайт, скачиваний: 623)
        В случае использования VisualC++ 2005, необходимо подкорректировать установки проекта
        Цитата Hryak @
        переключите проект на ANSI после создания: в свойствах проекта выберите General / Character Set: Use Multi-Byte Character Set
          Если проект после компиляции запускается и сразу же прекращает выполнение
          Сообщение отредактировано: orb -
            Цитата orb @
            Если проект после компиляции запускается и сразу же прекращает выполнение


            То причина может быть не только в этой строке...

            Советую сделать хотябы так:

            ExpandedWrap disabled
                  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);
                  }


            ExpandedWrap disabled
                  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);
                  }
              Я тут на Delphi закодил два примера из первого урока. По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом.
              Прикреплённый файлПрикреплённый файлD3D9_Leson1.zip (55.54 Кбайт, скачиваний: 357)
                Цитата Pavia @
                Я тут на Delphi закодил два примера из первого урока. По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом.

                Это уроки, так что здесь можно все в кучу скидывать, хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки. А если писать полноценный движок, то надо разделять все достаточно сильно, вплоть до отдельных функций.
                  Цитата Pavia @
                  По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом
                  Цитата Axis @
                  Это уроки, так что здесь можно все в кучу скидывать, хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки
                  как раз думаю писать продолжение, теперь в сомнениях насколько дробить и дробить ли вообще? А может не со второго урока, а дальше когда пойдут шейдеры/текстуры/модели???
                    Цитата Pavia @
                    По-моему следует задуматься, чтобы создание окна находилась в одном файле, а отрисовка уже в другом
                    Цитата Axis @
                    хотя конечно имело бы смысл сделать скелет, на базе которого затем собирать последующие уроки
                    Какие есть мысли по поводу разделения?
                    Подходит второй урок, думаю разбиватьна 3 части:
                    1. Окно виндовс
                    2. Инициализация 3Д, загрузка координат обьектов, удаление ресурсов
                    3. рендер, матрицы, рисование примитивов, ......
                      разделил, какие есть замечания предложения ?
                      Прикреплённый файлПрикреплённый файлLess2.rar (6.12 Кбайт, скачиваний: 368)
                        А.
                        Пытался к 1му уроку дорисовать 8й треугольник:
                        1. добавил массив точек - координат углов 8го треугольника
                        2. Изменил 21 на 24 в CreateVertexBuffer (число точек)
                        3. Установил число отрисовываемых треугольников равным 8 в DrawPrimitive
                        Не отрисовывается... почему? не пойму... хэлп, плиз.

                        Б.
                        Пытался изменить координаты 7го треугольника. Такие:
                        Оригинальные:
                        ExpandedWrap disabled
                                  { 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, },

                        Модифицировал к
                        ExpandedWrap disabled
                                  { 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, },
                        - отрисовался нормально - основание сердечка стало чуток поуже.

                        Модифицировал к
                        ExpandedWrap disabled
                                  { 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 срр-файле, чем в проекте. Да и вынесение нешаблонного кода в аш-файлы для меня выглядит спорным вопросом... вобщем вся суть в тексте статьи, а если начнёте разделять, то это вызовет больше вопросов, чем закроет. Если разделять, то тогда ещё и враппер писать... Кстати, наверняка уже и готовых полно.
                          Ого, какой баянище откопали... :blink: Даже как-то мимо меня прошел...

                          Цитата Budda @
                          Если статья для 2го урока только готовится


                          Гм... Год уже как готовится? :wacko: Гм...
                            Цитата barazuk @
                            Год уже как готовится?
                            кто ждет. тот дождется :)
                            Сообщение отредактировано: orb -
                              Цитата Budda @
                              поигрался, вроде понял: такое ощущение, что вершины должны описываться в определённом порядке - по часовой стрелке
                              упущение :(
                              вершины должны описываться по часовой стрелке
                                Если нормаль не задается программой, а рассчитывается библиотекой.
                                  Вышла вторая статья
                                    Хе-хе, поздравляю!!! :wub:

                                      Цитата barazuk @
                                      поздравляю!!!
                                      пасибо
                                      Тебя тоже С новым годом !!!
                                        С новым годом. Ну ноконецто следующая статья.

                                        Матрица проекции (Projection Matrix) – создает проекцию 3D сцены на экран монитора. С ее помощью объект трансформируется, начало координат переносится в переднюю часть, а также определяется передняя и задняя плоскости отсечения.
                                        Не понял куда переноситься?

                                        Долго же статью публиковали.
                                        Новерно надо было дать задание повернуть сердечко по кругу двумя способами с поворотом и без ;-)

                                        PS. Исходники на Delphi.
                                        Прикреплённый файлПрикреплённый файлD3D9_Leson2.zip (2.8 Кбайт, скачиваний: 175)
                                          Цитата Pavia @
                                          Не понял куда переноситься?
                                          Спасибо
                                          Пофиксю ;)
                                          Там текст будет еще доработан, как то мало я чего растолковал :yes-sad:
                                            Откройте тайну, плиз, ибо смотрел здесь: http://sources.ru/ и не нашёл новинок... ?

                                            Где статья то?
                                              http://www.sources.ru/magazine/1207/index.html

                                              Добавлено
                                              http://sources.ru/magazine/0906/08.html - это первая

                                              Сообщения были разделены в тему "Визуализация облака точек"
                                                orb продолжение цикла намечается? Собственно говоря хотелось бы раскрытия темы про создания объекта в 3д редакторе (3dMax, Maya, но желательнее в Blendere) с дальнейшим импортом в программу DirectX.
                                                Просмотрел пока первую статью:
                                                sizeof(stVertex) желательно заменить на 21*sizeof(CUSTOMVERTEX), на конечном результате разницы никакой, но первый вариант намекает что sizeof это функция, хоть это не так.
                                                Сообщение отредактировано: BugMeNot -
                                                  Цитата 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
                                                    Цитата BugMeNot @
                                                    с дальнейшим импортом в программу DirectX.

                                                    утилита conv3ds в помощь :) (делает *.3ds -> *.x)
                                                    0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                                    0 пользователей:


                                                    Рейтинг@Mail.ru
                                                    [ Script execution time: 0,0781 ]   [ 15 queries used ]   [ Generated: 2.05.24, 05:40 GMT ]