Managed DirectX 9 Direct3D
От: darklight  
Дата: 14.01.07 18:55
Оценка:
Managed DirectX 9 (1.0.2902)
MS Dot NET Framework 1.1.4322

Здравствуйте уважаемые крутые программисты.
Помогите пожалуйста новичку в 3В графике.
Извините если написал не в тот форум, просто не знаю куда написать точнее.
Моя проблема связана исключительно с использованием Managed Direct3D 9 версии for MS Dot NET.
До этого использовал Direct3D 8 версии (не управляемый) вроде проблем не было — но это было давно...
Я вообще-то полный профан в 3D графике.
Когда-то я боле менее успешно изучал Direct 3D 8 версии.
Просто захотелось изучить перспективное направление Managed Direct 3D
И сразу натолкнулся на проблему.
Проблема с включением ZBuffer'а
Он не включается
Подскажите, что я не так делаю или может это проблема только у меня, а у Вас всё будет работать хорошо (т.е. дело в том или ином бинарном коде).


Простой проект прилагаю (вращающийся чайник), внутри скриншот, на нём явно видно, что носик чайника проглядывается через сам чайник когда он повёрнут ручкой к наблюдателю.
Вращение чайника осуществляется стрелочками (нецифровыми) и клавишами PageUp, PageDown

И ещё — сейчас отключен режим отсечения.
При его включении — вообще ничего не отображается.

Очень жду помощи. Уже 3 недели бьюсь над этим Managed Direct 3d, но пока нажил себе только unmanaged расстройство, дипрессию и уныние!
файл: http://rsdn.ru/File/25345/Teapot.zip
Re: Managed DirectX 9 Direct3D
От: .Den Украина  
Дата: 15.01.07 08:31
Оценка:
Здравствуйте, darklight, Вы писали:

D>Managed DirectX 9 (1.0.2902)

D>MS Dot NET Framework 1.1.4322


А зачем тебе MDX, от него вроде как MS отказалась уже в пользу XNA. Ее и начинай изучать. Можешь посмотреть для начала xnadev.ru, там вроде даже примерчики кой-какие есть...
Re: Managed DirectX 9 Direct3D
От: adontz Грузия http://adontz.wordpress.com/
Дата: 15.01.07 12:38
Оценка:
Здравствуйте, darklight, Вы писали:

D>И ещё — сейчас отключен режим отсечения.

D>При его включении — вообще ничего не отображается.

Отсечение бывает разное, по и против часовой стрелки
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[2]: Managed DirectX 9 Direct3D
От: Morpheus_  
Дата: 15.01.07 17:33
Оценка:
Здравствуйте, .Den, Вы писали:

D>>Managed DirectX 9 (1.0.2902)

D>>MS Dot NET Framework 1.1.4322


D>А зачем тебе MDX, от него вроде как MS отказалась уже в пользу XNA. Ее и начинай изучать. Можешь посмотреть для начала xnadev.ru, там вроде даже примерчики кой-какие есть...


Да, говорят что отказалась, хотя DirectX SDK December 2006 идет с MDX, но без XNA, XNA redist идет отдельным инсталом, который нужно скачивать отдельно.
Кроме того есть проблемка с XNA SGE (SDK для XNA) работает только с Visual C# Express, из VS2005 не видны референсы на xna.framework.dll в GAC'е. Хотя последнее можно решить — просто скопировать из GAC'а DLL к себе в проект и добавить референс прямо на файл, проверил — работает Но всеравно часть возможностей из VS2005 будет недоступна.
Для VS2005 обещали отдельный XNA SDK сделать, но он судя по всему будет платный, по подписке — для разработчиков под Xbox...
А зачем мне подписываться? если у меня и xbox нету и писать под него я пока не собирался...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Managed DirectX 9 Direct3D
От: darklight  
Дата: 15.01.07 17:39
Оценка:
A>Отсечение бывает разное, по и против часовой стрелки
Конечно — Вы имели в веду отсечение задней стороны полигонов.
Так вот в коде я его не трогла, т.е. оно остаётя по умолчанию = ClockWise — т.е. стандартно — по часовой стрелке.
Модель чайника из составаа DirectX — значит она стандратная.
Правда я попробовал поиграться с этим режимом

...
device.RenderState.Clipping = false;
//device.RenderState.Clipping = true;

device.RenderState.CullMode = Cull.Clockwise;

device.Transform.World = matrix;

...

Ничего не меняется, тольке если ставлю None — явно видно, что прорисовываются обе грани — и просвечиваются через модель , т.е. Zbufer по прежднему не хочет работать


В то время как

device.RenderState.Clipping = false;


отвечает за отсечение плоскостями проеекции — всёравно при включении отсечения модель не выводится
Может я что с матрицей проекции намутил ???


device.Transform.Projection = Matrix.PerspectiveLH(1,1,100,100);


Посмотрите код — попробуйте — может свой код дадите — чтобы так же чайник вокруг оси крутился и направленный свет сбоку был...


Забыл сообзщить — проект на Borland C# (Delphi studio 2006)
Re[2]: Managed DirectX 9 Direct3D
От: darklight  
Дата: 15.01.07 17:44
Оценка:
D>А зачем тебе MDX, от него вроде как MS отказалась уже в пользу XNA. Ее и начинай изучать. Можешь посмотреть для начала xnadev.ru, там вроде даже примерчики кой-какие есть...

Спасибо за линк. Обязательно ознакомплюсь.
С новой конецепцией MS пока хнакомитьсфя немного боязно просто мало доки пока на эту тему, особенно в примерах и рускоязычной и под managed code dot Net.
Хотелось пока встать на ноги на старом добром DX9

Да и не стоит у меня DX10 (как впрочем и Vista) и ставить пока не планирую...

Но с докой обязательно ознакомлюсь — ещё раз спасибо за линк.

А пока я всё-таки жду помощи по DX9
Re[3]: Managed DirectX 9 Direct3D
От: Morpheus_  
Дата: 15.01.07 18:03
Оценка:
Здравствуйте, darklight, Вы писали:

D>>А зачем тебе MDX, от него вроде как MS отказалась уже в пользу XNA. Ее и начинай изучать. Можешь посмотреть для начала xnadev.ru, там вроде даже примерчики кой-какие есть...


D>Спасибо за линк. Обязательно ознакомплюсь.

D>С новой конецепцией MS пока хнакомитьсфя немного боязно просто мало доки пока на эту тему, особенно в примерах и рускоязычной и под managed code dot Net.
D>Хотелось пока встать на ноги на старом добром DX9

D>Да и не стоит у меня DX10 (как впрочем и Vista) и ставить пока не планирую...


D>Но с докой обязательно ознакомлюсь — ещё раз спасибо за линк.


D>А пока я всё-таки жду помощи по DX9


XNA это просто более удобный врапер над DirectX, как и MDX, но более удобный и с прицелом на многоплатформенность... Если не юзаешь System.Windows.Forms, то софт легче под XBOX переделать, а можно вобще сразу сделать чтобы и на XBOX и PC работало...
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Managed DirectX 9 Direct3D
От: darklight  
Дата: 15.01.07 18:48
Оценка:
Здравствуйте, Morpheus_, Вы писали:


M_>XNA это просто более удобный врапер над DirectX, как и MDX, но более удобный и с прицелом на многоплатформенность... Если не юзаешь System.Windows.Forms, то софт легче под XBOX переделать, а можно вобще сразу сделать чтобы и на XBOX и PC работало...


А я думал это просто новый врапер под новую концепцию визуализации MS 2.0 которая вводится с DirectX 10
Re[3]: Managed DirectX 9 Direct3D
От: darklight  
Дата: 15.01.07 21:55
Оценка:
е, Morpheus_, Вы писали:

M_>Кроме того есть проблемка с XNA SGE (SDK для XNA) работает только с Visual C# Express, из VS2005 не видны референсы на xna.framework.dll в GAC'е. Хотя последнее можно решить — просто скопировать из GAC'а DLL к себе в проект и добавить референс прямо на файл, проверил — работает Но всеравно часть возможностей из VS2005 будет недоступна.


Да, интересное ограничение
Любопытно, а кроме как в VS это можно будет ещё заюзать, например в Borland Developer Studio?
Жаль только .NET 2.0 нужен Borland (а теперь, точнее, CodeGear Group) пока не поддерживат MS Dot NET Framework 2.0 но скоро ужедолжны будут...
Я просто не программирую под VS
И не стоит она у меня сейчас — места нет
Экспрес конечно можно поставить
Но всёравно этот XNF SGE только под WIN XP SP2 (и WIN2003 Server) работает, а у меня пока только WIN2000 стоит (XP не люблю )
Так что всё опять упрётся в установку отдельной рабочей зоны под эту систему — это время и место которого нет!
Кстати, а что ха фичи обрезаются в VS Prof по сравнению с VS Express для XNA


M_>Для VS2005 обещали отдельный XNA SDK сделать, но он судя по всему будет платный, по подписке — для разработчиков под Xbox...

M_>А зачем мне подписываться? если у меня и xbox нету и писать под него я пока не собирался...
Да, с подпиской это полное фуфлыжничество — я думаю хакеры с этим делом разберутся когда МС зарелизит так что можно будет некоммерческие проекты на Prof версии лобать — но это всё время...

Почитал я на www.xnadef.ru — очень похож этот XNA на MDX — попроще только будет . По крайней мере по первым статьям.
И шейдеры применят как основу всего проекта — что любопытно, и наверное, правильно!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.