Форум » Книги в работе » DirectX для управляемого кода: программирование игр и графики » Ответить

DirectX для управляемого кода: программирование игр и графики

netlib: Том Миллер DirectX для управляемого кода: программирование графики и игр Библиотека DirectX для управляемого кода была выпущена в комплекте с базовыми библиотеками DirectX в версии DirectX 9. Она позволяет разработчикам использовать новые языки .NET (такие, как C#, VB.NET и т.д.) для создания мультимедийных приложений, использующих DirectX. К сожалению, среда времени выполнения DirectX для управляемого кода была выпущена без соответствующей документации и разработчики были вынуждены тратить много усилий, чтобы определить лучший способ написания управляемых приложений. Книга раскрывает как использовать объекты DirectX для управляемого кода, в чем заключаются отличия от базовых библиотек DirectX и как создать мультимедийные приложения на языке C#. Кроме того, обсуждаются графические технологии и высокоуровневый язык программирования шейдеров, являющиеся частью DirectX 9.

Ответов - 32, стр: 1 2 All

netlib: Книга, представляющая неплохой учебник для начинающих, была практически безнадежно испорчена переводом. Непереведенные слова в тексте, части абзацев выкинуты (видимо переводчик не справился с ними), грубые ошибки в переводе (то есть в переводе совсем не то, что в оригинале). И этот список можно продолжать. Поскольку книга небольшая, а многие меня просили что-нибудь про использование DirectX в C# я выкладываю исправленный перевод.

netlib: Файлы к книге (18 мегабайт)

netlib: Выложена первая глава. Хотелось бы сделать несколько замечаний о компиляции примеров. Во-первых в Visual Studio 7.0 у меня примеры компилируются, но потом не работают. Для компилирования примеров нужна Visual Studio 2003 или 2005 (подойдет и бесплатная Visual C# 2005 Express). Во-вторых при компиляции примеров из первой главы у меня выводит ругательство на строки verts[0].SetPosition(new Vector3(0.0f, 1.0f, 1.0f)); verts[0].SetNormal(new Vector3(0.0f, 0.0f, -1.0f)); Возможно, в первых версиях Managed DirectX и были методы SetPosition и SetNormal, но в последних версиях есть свойства Position и Normal. Так что строки надо заменить на такие (в тексте я это уже сделал, но в примерах ничего не менял): verts[0].Position = new Vector3(0.0f, 1.0f, 1.0f); verts[0].Normal = new Vector3(0.0f, 0.0f, -1.0f); Кроме того, в программе Lighting необходимо закомментировать строку device.Lights[0].Commit(); В последних версиях DirectX метода Commit нет. Опять же в тексте книги необходимые изменения внесены, а в коде примеров - нет.


8daemon: Если я не ошибаюсь перевод этой книги уже есть, выкладывался на natahaus.ru

netlib: 8daemon пишет: перевод этой книги уже есть Так я же уже написал, что перевод отвратительный с кучей ошибок.

Inferno: Так я же уже написал, что перевод отвратительный с кучей ошибок. Уважаемый NetLib, а чем там отвратительный перевод?

netlib: Страница 28 перевода. Второй абзац снизу. "Классы Windows-form имеют встроенный метод, позволяющий отслеживать момент, когда необходимо обновить или «перерисовать» окно — это метод OnPaint (можно также использовать приложение Paint)." Премия в 10$ тому, кто объяснит мне, как для перерисовки окна во время работы приложения можно использовать приложение Paint. В оригинале там The windows forms classes have a built-in way to determine when it is time to redraw themselves: using the OnPaint override (you can also hook the Paint event). Переводится это так У классов форм есть встроенная возможность определить момент, когда им надо перерисовать себя: использование переопределенного метода OnPaint (или перехват события Paint). Это не опечатка и не разница в терминологии - это незнание того, о чем идет речь. И таких ошибок по нескольку штук в каждой главе. Что можно говорить, если в книге "character animation" переводится не "анимация персонажа", а "символьная анимация". Что такое "символьная анимация"? Если хотите подробный разбор по главам - могу написать.

netlib: Четвертая глава. Последний абзац на странице 78. "Давайте запишем "быстрый бит" кода для рисования различных типов примитивов" Что такое "быстрый бит кода" и есть ли "медленный байт"? В оригинале Let's write a quick bit of code to draw each of the different primitive types. Перевод будет выглядеть примерно так: Давайте быстро напишем фрагмент кода, рисующий каждый из типов примитивов.

netlib: Выложена вторая глава.

Inferno: Уважаемый Netlib мне нравятся как вы переводите, можна ссылку на книгу с вашим переводом?

netlib: Как обычно - то, что перевел лежит на сайте, когда переведу все, выложу ссылку в форуме.

Inferno: Как обычно - то, что перевел лежит на сайте, когда переведу все, выложу ссылку в форуме. Я имел ввиду печатное издание. Вышли ли какие-нибудь книжки с вашем переводом и где можна их купить?

netlib: Inferno пишет: Вышли ли какие-нибудь книжки с вашем переводом Если по играм, то ничего в моем переводе не выходило. А так есть несколько книг по Oracle, C#, JavaScript, CSS, Windows. Вобщем то, за что платят деньги.

Sanyok: Вот ещё прикол. Та же страница 28. Первый абзац сверху: "Что мы здесь сделали? Сначала, мы добавили оператор или директиву "using" для создаваемой формы. Это гарантирует размещение нашей формы в каталоге, когда приложение оставляет область этого блока." В оригинале: "We made a few changes to this function. First, we added the using statement around the creation of our form. This ensures that our form is disposed when the application leaves the scope of this block." Какой каталог? Что за бред? После этого у меня терпение лопнуло, и я забросил читать книгу. Даже обидно стало, что купил эту книгу :) Такое ощущение, что переводчик вообще не сечёт в программировании, пользовался каким-нибудь Сократом :) А ведь переводил кандидат физико-математических наук. Netlib, MS вроде бы не собираются развивать DirectX.Net, они сейчас поддерживают XNA. Может лучше переводить книгу по XNA, а не эту книгу.

netlib: Sanyok пишет: MS вроде бы не собираются развивать DirectX.Net, они сейчас поддерживают XNA В основе XNA тот же Managed DirectX и без него XNA не работает. Так что надо и то и другое. Sanyok пишет: Вот ещё прикол. Я перевел так: В функции мы сделали несколько изменений. Во-первых, мы добавили инструкцию using к оператору создания формы. Это гарантирует, что наша форма будет доступна, когда приложение покинет область видимости данного блока. Тексты то элементарные - никаких сложных конструкций, в которых можно запутаться там нет.

Inferno: Если по играм, то ничего в моем переводе не выходило. А так есть несколько книг по Oracle, C#, JavaScript, CSS, Windows. Вобщем то, за что платят деньги. А вы можете дать ссылки на эти книги? Кстати в этих книгах по мимо автора книге указан переводчик книги?

netlib: Inferno пишет: А вы можете дать ссылки на эти книги? http://www.ozon.ru/context/detail/id/2468908/ http://www.ozon.ru/context/detail/id/1708313/ http://www.ozon.ru/context/detail/id/1190419/ http://www.ozon.ru/context/detail/id/1093562/ Достаточно?

Inferno: netlib пишет: Достаточно? Конечно. Большое спасибо. Неужели люди платят деньги за такой флуд(я про Windows XP Professional. Учебный курс MCSA/MCSE)?

Nikolay: netlib я очень уважаю вашь перевод ето титанический труд но в свете того что DirectX Managed сканчался как год :) может лутше перевести книжки по XNA тодже болт только еще народу нужно будет :)

netlib: Nikolay пишет: но в свете того что DirectX Managed сканчался как год :) Скажите, пожалуйста, почему вы решили, что Managed DirectX скончался? DirectX все так же остается, .NEt никуда не делся, значит и Managed DirectX есть. XNA без managed DirectX не работает.

WeB: Microsoft официально заявила о том, что прекращает работу над Managed DX.

netlib: Ну про XNA я не забываю. На сайте уже доступна первая глава книги Профессиональное программирование игр с XNA для Windows и Xbox 360

Nikolay: эм потому что 2.0 так и осталась в Beta а XNA работает без MDX да она не работает без DirectX 9 :) в который до сих пор входит MDX но суть в том что MS наплевала на MDX и дальнейшей подержки не предвидиться по етому перевод вижу без мыслиным :) хоть и вижу что делаеться он на много лутше чем был в исходной книжке откуда увереность Ну я работаю программистом и писал игру под MDX которую потом пришлось переделывать на XNA больше возможностей подержка xbox360 пускай пока для бесплатного использования :) вот мое IMHO :)

netlib: На сайт выложена третья глава книги. При компиляции примеров столкнулся с той же проблемой, что и в первой главе: при инициализации вершин вместо метода SetPosition надо использовать свойство Position.

netlib: На сайт выложена четвертая глава книги.

Zigl: Я тут вспомнил, что вы писали, что не переводите книги на которые есть перевод. У меня есть русский перевод книги Тома Миллера "Managed DirectX 9: Программироване графики и игр", состоит из 7 частей, 392 страницы, (нет алфавитного указателя.) Та же самая книга, которую и вы переводите.

netlib: Zigl пишет: У меня есть русский перевод книги Тома Миллера Это не перевод, а извращение - куча ошибок в каждой главе и похоже переводчик даже не пытался разобраться в предметной области. Что можно сказать о человеке, который вместо "анимация персонажа" пишет "символьная анимация" увидев в оригинале слово character

Zigl: Согласен. :) Сейчас глянул, и вправду, ошиииииибок завались.

JohnK: XNA без managed DirectX не работает.Вы не правы. XNA это НЕ обертка над управляемым DX'ом, а над native DX'ом. XNA без MDX'а существует.

netlib: Поглядел подробнее, действительно ошибался - XNA это расширенный (можно сказать более специализированный или просто измененный) вариант MDX ориентированный на игры. На нижнем уровне он обращается к обычному DX. Судя по внутреннему устройству туда перекочевало многое из MDX - поэтому и ошибся. Посыпаю голову пеплом, все виновные наказаны в размере годовой премии.

Inferno: Посыпаю голову пеплом, все виновные наказаны в размере годовой премии. Не стоит так строго винить себя. Все мы люди. А людям свойственно ошибаться. Нужно принимать себя такими какими мы есть, а годовая премия еще пригодиться, поэтому не стоит разбрасывать ее на ветер.

JohnK: netlib, Вы отнюдь не первый, кто утверждал такое :)



полная версия страницы