Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование игр, графики и искусственного интеллекта > Эмулятор жизни C# DirectX


Автор: Able 19.8.2006, 19:20
Мир Вам!

    Давно хотелось написать программу по «генетическим алгоритмам» или что-то подобное, вот решился, но это уже вторая версия под 3D.  Возникли некоторые трудности, первое постоянные ошибки DirectX которые посмотреть не возможно, второе т.к. мы новички в C# и DirectX (но не в программировании вообще) то соответственно не знание построения эффективной архитектуры программы приводит к зарыванию времени на поиски велосипедов, которые не всегда легко найти. Из того, что было возможно прочесть, было прочитано, не на один раз. 
    Первая версия написана на C# GDI+ там все понятно. Под C# DirectX же возникает куча вопросов!
    Пишем под C# DirectX, используя Visual Studio 2005 Pro.
1.    Как правильно организовывать рендер и общую структуру программы под 3D? (у разных авторов по разному!!!)
2.    Как эффективно дебагить?
3.    Как установить свободную камеру?
    

Будем Вам благодарны за ответы! )))


                Код в файле, в сообщение код не вставляется форум ругается )))


Автор: NikotiN 20.8.2006, 18:20
1. мне больше всего нравится через PeekMessage, короче, как и раньше в delphi или C делали))
2. всё также, f9 и т.д. только справку по directx открыть...
3. через матрицу device.Device.Transform.View/World/Transform

Автор: Able 21.8.2006, 02:22
Привет

1.    А более "цивилизованные способы есть" (хотя согласен способ проверенный), что используют «серьезные движки»?
2.    Какие эффективные и удобные внешние проги для дебагинга существуют? Кстати, какими способами, возможно, организовать удаленную разработку? Может, есть, где скачать инфу?
3.    Хотелось бы увидеть комменты по коду)))

Спасибо

Автор: arilou 21.8.2006, 09:57
Able, 

Цитата(Able @  21.8.2006,  02:22 Найти цитируемый пост)
 более "цивилизованные способы есть" (хотя согласен способ проверенный), что используют «серьезные движки»?

http://blogs.msdn.com/tmiller/search.aspx?q=render+loop&p=1

Цитата(Able @  21.8.2006,  02:22 Найти цитируемый пост)
Какие эффективные и удобные внешние проги для дебагинга существуют?

А чем не устаривает встроенная отладка VS.NET ?

Цитата(Able @  21.8.2006,  02:22 Найти цитируемый пост)
возможно, организовать удаленную разработку

1. http://www.codeplex.com
2. http://tortoisesvn.tigris.org (SVN клиент), https://opensvn.csie.org

Автор: Able 22.8.2006, 15:53
arilou, спасибо.

По отладке к VS есть претензии, не тока у меня.

Может есть где фича для VS 2005, что нибудь на подобии Team suit for developer, на сколько я понимаю это плагин к студии вообще.
Если у кого стоит Team Suit что там добавлено в отличии от professional?  smile 

Автор: arilou 22.8.2006, 22:02
Цитата(Able @  22.8.2006,  15:53 Найти цитируемый пост)
Если у кого стоит Team Suit что там добавлено в отличии от professional

У меня стоит Team Suite полный вместе с Team Explorer. Там еще Unit testing, интеграция с TFS, Code Coverage, дополнительные дизайнеры для enterprise приложений. Рулит это все вместе  smile 
Цитата(Able @  22.8.2006,  15:53 Найти цитируемый пост)
По отладке к VS есть претензии, не тока у меня

Так какие именно?

Автор: Able 22.8.2006, 22:46
smile Хочу!!! у нас в городе не купишь  smile 

А как там инсталлятор устроен?

По поводу отладки:
1. Отладка циклов, когда цикл больше 100 ждать проблематично (а надо посмотреть, как он крутит вложенные циклы)  smile 
2. Визуальное наблюдение за матрицами особенно трех мерными!!! smile  (отображал бы таблицы VS, а то списком  smile )
3. Отображение в отладчике подробной инфы по исключениям  smile 
4. Но это по отладчику то, что вспомнил, по самой студии еще больше. smile 

Автор: arilou 23.8.2006, 09:47
Цитата(Able @  22.8.2006,  22:46 Найти цитируемый пост)
Отладка циклов, когда цикл больше 100 ждать проблематично (а надо посмотреть, как он крутит вложенные циклы) 

Conditional breakpoint, который срабатывает после n проходов, не подходит?

Цитата(Able @  22.8.2006,  22:46 Найти цитируемый пост)
 Визуальное наблюдение за матрицами особенно трех мерными!!!   (отображал бы таблицы VS, а то списком )

Есть такая вещь, называется Debugger Visualizer. Это когда наводишь на переменную в отладке, а оно тебе показывает лупу маленькую. Кликаешь ее  и запускается кастомный визуализатор. Пример можешь посмотреть на датасете.

Цитата(Able @  22.8.2006,  22:46 Найти цитируемый пост)
Отображение в отладчике подробной инфы по исключениям  

Всегда думал, что более подробно в чем VS 2005 уже нигде нету  smile Так чего тебе там не хватает? 

Цитата(Able @  22.8.2006,  22:46 Найти цитируемый пост)
 Но это по отладчику то, что вспомнил, по самой студии еще больше

Ну если уж так не хватает встроенных возможностей студии, можно воспользоваться такими примочками, как ReSharper 2005.

Автор: Able 23.8.2006, 14:09
1. Conditional breakpoint ? а где он ? smile 
2. Debugger Visualizer а его где брать ?  smile 
3. Не много не то, я не знаю это видимо так студии отличаются или я туплю...  smile 

Автор: arilou 23.8.2006, 14:47
Цитата(Able @  23.8.2006,  14:09 Найти цитируемый пост)
1. Conditional breakpoint ? а где он ?

Hint - ставишь брекпоинт, а потом на красненькой бубочке правой кнопочкой - а там целое меню smile

Цитата(Able @  23.8.2006,  14:09 Найти цитируемый пост)
2. Debugger Visualizer а его где брать ?

Самому сделать, под свои нужды.

Цитата(Able @  23.8.2006,  14:09 Найти цитируемый пост)
Не много не то, я не знаю это видимо так студии отличаются или я туплю

А какой инфы тебе не хватает?

Автор: Able 23.8.2006, 15:30
Debugger Visualizer - есть где готовый под VS 2005 smile 
Не хватает именно визуальной информации, даже если сравнивать Решарпер и базу Студии, не хватает многого )))  smile 
Кроме того, рас язык Шарп, для меня новое чудо, то и соответственно с большей визуальной, более информативной информацией привыкание к нему будет быстрее  smile 

Кста при выполнении экзешника приведенного вверху кода на любом другом компе приводит к ошибке:
Что это и как исправить? фрамворки оба, нет директ sdk (не будешь же его таскать везде за собой)
Цитата

EventType : clr20r3     P1 : life.exe 3d.exe     P2 : 1.0.0.0     P3 : 44e9b8a8
P4 : life.exe 3d     P5 : 1.0.0.0     P6 : 44e9b8a8     P7 : 7     P8 : f2     
P9 : system.io.filenotfoundexception


Соответственно вопрос как правильно создавать релизы, чтоб весь необходимый код был уже в исходной проге?

Автор: arilou 23.8.2006, 15:38
Цитата(Able @  23.8.2006,  15:30 Найти цитируемый пост)
Debugger Visualizer - есть где готовый под VS 2005 

Тут рядом есть подфорум по дотнету, милости просим.

Цитата(Able @  23.8.2006,  15:30 Найти цитируемый пост)
Что это и как исправить? фрамворки оба, нет директ sdk (не будешь же его таскать везде за собой)

Скорее всего нет managed directx на этой машине.

P.S. 


M
arilou
Чета эта тема немного заофтопила... Вобщем, один топик - один вопрос

Автор: Able 23.8.2006, 16:15
Это точно smile 
Вернемся к начатому, кто смотрел исходник ?   smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)