Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DirectX 
:(
    Опции темы
Miller_time
Дата 9.2.2007, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

Репутация: нет
Всего: 1



Народ как загрузить модель в программу скажем в формате 3DS как описывать форматы 3d моделей ?


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
mr.DUDA
Дата 9.2.2007, 15:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Напрямую - никак. А можно взять XNA и загружать через экспортеры.


--------------------
user posted image
PM MAIL WWW   Вверх
zaver
Дата 25.2.2007, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



начал читать Миллера... и бросил. многие вещи из книжки просто не работают. 
Подскажите, пожалуйста:
как нарисовать сферу? (цилиндр, конус, итд)
как включить освещение? (в Миллере написано юзать функцию device.Lights[i].Commit(); или аналогичное свойство Deffered, а ни того ни того оказывается у этого объекта нету  smile )

PM MAIL WWW ICQ Skype YIM MSN   Вверх
mr.DUDA
Дата 25.2.2007, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(zaver @  25.2.2007,  19:47 Найти цитируемый пост)
как нарисовать сферу? (цилиндр, конус, итд)

Нет таких примитивов, как "сфера, цилиндр и конус". Или нужно делать в 3D Max / Milkshape3d и экспортировать в .x, или же создавать ручками, повершинно в vertex buffer-е.

Цитата(zaver @  25.2.2007,  19:47 Найти цитируемый пост)
как включить освещение? (в Миллере написано юзать функцию device.Lights[i].Commit(); или аналогичное свойство Deffered, а ни того ни того оказывается у этого объекта нету

Не уверен что понял о чём речь.


--------------------
user posted image
PM MAIL WWW   Вверх
zaver
Дата 26.2.2007, 00:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



Код из Миллера: (как создать точечный источник света)
Код

device.Lights[0].Туре = LightType.
device.Lights[0].Position = new Vector3();
ievice.Lights[0].Diffuse = System.
device.Lights[0] .Attenuation() = 0.2f;
device.Lights[0].Range = 10000.Of;
device.Lights[0].Commit();
device.Lights[0].Enabled = true;

у этого объекта метода Commit просто нету, и аналогичного ему свойства (как пишет Миллер) Deffered тоже нету

и причем это не первый глюк из этой книги, многих методов и свойств, которые описал Миллер, просто не оказывается (зачастую методы оказываются свойствами)

Это сообщение отредактировал(а) zaver - 26.2.2007, 00:34
PM MAIL WWW ICQ Skype YIM MSN   Вверх
NeedForS
Дата 26.2.2007, 01:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2007
Где: Город Герой - Мос ква

Репутация: нет
Всего: нет



Начнем по порядку.
Цитата

как нарисовать сферу? (цилиндр, конус, итд)


Код

public class Form1 : System.Windows.Forms.Form
{

//Код программы
//...

private Mesh mesh = null;//иницилизируем наш обьект
private float angle = 0.0f;//иницилизируем переменную для вращения

//Код программы
//...

//Инициализируем графику
public void InitializeGraphics()
{
mesh = Mesh.Cylinder(device, 2.Of, 2.Of, 2.Of, 36, 36); //цилиндр
mesh = Mesh.Sphere(device, 2.Of, 36, 36); //сфера
mesh = Mesh.Torus(device, 0.5f, 2.Of, 36, 18); //кажется это конус
//подставлять можешь любые значения, поэксперементируй.
}
//этот метод рисует непосредственно твой обьект
private void DrawBox(float yaw, float pitch, float roll, float x, float y, float z)
{
angle += 0.01f;//увеличиваем переменню движения
device.Transform.World = Matrix.RotationYawPitchRoll(yaw, pitch, roll) * Matrix.Translation(x, y, z);//подставляем обьект в глобальные координаты
Material boxMaterial = new Material();//инициализируем материал
boxMaterial.Ambient = Color.White;//основной цвет материала, мог перепутать с нижним
boxMaterial.Diffuse = Color.White;//цвет отблеска, мог перепутать с верхним
device.Material = boxMaterial;//говорим, что материал готов
mesh.DrawSubset(0);//рисуем
}
//заканчиваем рисовать обьект

//Код программы
//...

protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{

//Код программы
//...

device.BeginScene();//обьявления начала "отрисовки"            
//запускаем метод для рисования обьекта
DrawBox(angle / (float)Math.PI, angle / (float)Math.PI * 2.0f, angle / (float)Math.PI / 4.0f, 0.0f, 0.0f, 0.0f);
device.EndScene();//обьявляем конец "отрисовки"
device.Present();//Present он и в африке Present
this.Invalidate();//Стоит по умолчанию, видать без него не запустится
}

//Код программы
//...



Цитата

в Миллере написано юзать функцию device.Lights[i].Commit();

Просто закоментируй, Миллер писал книжку в 2003 году, а ты наверняка используешь версию не 4-летней давности, в новой от неё избавились. 

Цитата

Нет таких примитивов, как "сфера, цилиндр и конус". Или нужно делать в 3D Max / Milkshape3d и экспортировать в .x, или же создавать ручками, повершинно в vertex buffer-е.

Не путай человека, конечно по существу ты прав, но в DirectX есть вложенные функции по созданию примитивов, правда для написания игры они врядли понадобятся, а нужно как раз загружать из 3D пакетов.

Цитата

начал читать Миллера... и бросил. многие вещи из книжки просто не работают. 

А я дочитал до конца, правда от этого мало что изменилось, игру по его книжке не сделаешь, а упровляемы DX просто напросто умер.

P.S. 
Если что не так, скажите, поправлю, добавлю, исправлю
PM MAIL   Вверх
mr.DUDA
Дата 26.2.2007, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(NeedForS @  26.2.2007,  00:11 Найти цитируемый пост)
Не путай человека, конечно по существу ты прав, но в DirectX есть вложенные функции по созданию примитивов, правда для написания игры они врядли понадобятся, а нужно как раз загружать из 3D пакетов.

Сорри, был не в теме smile


--------------------
user posted image
PM MAIL WWW   Вверх
zaver
Дата 26.2.2007, 17:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



О, спасибо! 
Цитата

Просто закоментируй, Миллер писал книжку в 2003 году, а ты наверняка используешь версию не 4-летней давности, в новой от неё избавились. 

так вот и не работает без этого. летают темные фигуры и все
PM MAIL WWW ICQ Skype YIM MSN   Вверх
mr.DUDA
Дата 26.2.2007, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(zaver @  26.2.2007,  16:47 Найти цитируемый пост)
так вот и не работает без этого. летают темные фигуры и все

Значит светильник не применяется к сцене.


--------------------
user posted image
PM MAIL WWW   Вверх
zaver
Дата 26.2.2007, 22:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



так пример просто из Миллера переписал, а он не пашет.
подскажи, как сделать работающий источник света (самый простой вариант)?
PM MAIL WWW ICQ Skype YIM MSN   Вверх
zaver
Дата 3.3.2007, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



Цитата

как включить освещение? в Миллере написано юзать функцию device.Lights[i].Commit();

нашел: 
Цитата

if you're using the October 2004 DirectX SDK instead of the Summer 2003 version on which these tutorials were written, you'll find that they renamed the Commit method to Update

еще вопрос:
Как нарисовать фигуру в заданых координатах? 
(например как нарисовать сферу радиусом 10 в координатах 1.0f, 1.0f, 1.0f)
еще вопрос:
Почему у меня при вращении циллиндра (если есть источник света) часть его граней просто пропадает? (он что имеет основание только с одной стороны?) А при вращении тора просто куча глюков...


Присоединённый файл ( Кол-во скачиваний: 12 )
Присоединённый файл  1.GIF 9,55 Kb
PM MAIL WWW ICQ Skype YIM MSN   Вверх
NeedForS
Дата 3.3.2007, 22:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 18
Регистрация: 18.2.2007
Где: Город Герой - Мос ква

Репутация: нет
Всего: нет



Ну первое, на что думаешь, так это на видеокарточку. И что касается device.Lights[i].Commit(); то я уже не однократно говорил, что он не нужен уже.
И все же, MDX все же умер, поэтому разработка на нем каких-либо сложных программ не приведет к хорошим результатам. Но если же ты собираешь продолжить написание программ, напиши в личку, попробую перекомпилировать на своем компьютере и разобраться в чем проблема.
PM MAIL   Вверх
zaver
Дата 4.3.2007, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 204
Регистрация: 15.8.2005

Репутация: нет
Всего: 3



а что преходит на смену MDX? XNA?

Это сообщение отредактировал(а) zaver - 4.3.2007, 19:23
PM MAIL WWW ICQ Skype YIM MSN   Вверх
mr.DUDA
Дата 4.3.2007, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


3D-маньяк
****


Профиль
Группа: Экс. модератор
Сообщений: 8244
Регистрация: 27.7.2003
Где: город-герой Минск

Репутация: 110
Всего: 232



Цитата(zaver @  4.3.2007,  18:22 Найти цитируемый пост)
а что преходит на смену MDX? XNA?

Похоже, да. Единственное что пока напрягает - новая версии XNA всё никак не выйдет.


--------------------
user posted image
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0646 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.