На главную Наши проекты:
Журнал   ·   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
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Статьи по DirectX , Журнал
    После выхода в свет статьи «Программирование с использованием DirectX9» возникло несколько проблемных мест в коде этой статьи. Все спорные моменты касательно этой статьи просьба обсуждать здесь.
      При отсутствии установленого SDK необходимо скачать файл, распаковать и
      разместить заголовочные файлы в директорию \Include, а d3d9.lib в директорию \lib
      или скинуть их, например, на диск D:\, после чего подправить 2ю и 4ю строки
      #include<d:\d3d9.h>
      #pragma comment(lib, "d:\\d3d9.lib")
      Прикреплённый файлПрикреплённый файлd3d.rar (27.66 Кбайт, скачиваний: 622)
        В случае использования 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 @
                              поигрался, вроде понял: такое ощущение, что вершины должны описываться в определённом порядке - по часовой стрелке
                              упущение :(
                              вершины должны описываться по часовой стрелке
                                Если нормаль не задается программой, а рассчитывается библиотекой.
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0529 ]   [ 15 queries used ]   [ Generated: 19.04.24, 10:33 GMT ]