none
Возможно ли создать 3D в C#? RRS feed

  • Вопрос

  • Знаю вопрос не конкретный, я хочу узнать что самого крутого можно сделать в C#? К примеру создать 3D, потом движок, потом уже трёхмерную игру в конце концов возможно или нет?

    Бог движок на котором мы написаны, а Библия компилятор, и верующие постоянно компилируют себя в нём.

Ответы

  • Вопрос не в языке а в технологии. Как я уже писал вам раньше C# можно использовать при написании на разных платформах.

    Продублирую то сообщение с поправками (выделил жирным):

    C# - язык программирования. Создан с появлением .Net Framework как эволюция языка C++ для технологии .Net. Язык программирования нужен для создания алгоритма работы программы, логики ее поведения в тех или иных ситуациях. Все перечисленные ниже платформ позволяют писать на C#.

    WinForms - платформа для написания настольных бизнес приложений (привычных нам оконных приложений). Платформа определяет, то как ОС будет выполнять действия описанные с помощью выбранного языка программирования (C# или VB). Недостаток платформ в том, что она использует API созданные еще во времена первых WIndows и просто не умеет использовать современные возможности PC. Например рисование окна система выполняет с помощью процессора. Приложения 3D возможны, но используя только возможности платформы они не будут отвечать требованием даже простых 3D приложений. Обычно 3D в WinForms делают подключая библиотеки DirectX и пишут на низкоуровневых API.

    WPF - платформа для написания настольных бизнес приложений. Является развитием устаревшей WinForms, но при этом уходит далеко вперед. Рисование окна в приложении WPF осуществляется силами DirectX, который в 99% случаев работает с мощностью видео карт а не процессора, отсюда возможность создания красивых бизнес приложений. Имеет высокие возможности в создании и использовании готовых 3D моделей, а так же работы с ними. Вот описание встроеннsх в WPF возможностей 3D.

    XNA - платформа для создания игр. Как и в предыдущих платформах для описания действий игры используется язык программирования (C# или VB). Отличий WinForms и WPF от XNA много. В вышеописанных платформах используется принцип реакции на событие, произошло событие - пишем действия, нет событий нет действия. В XNA же описывается игровой экран в конкретный момент исходя из неких переменных, которые меняются в зависимости от действий пользователя. Кроме того XNA в отличии от платформ для бизнес приложения можно запускать как на PC так и на приставке Xbox или телефоне с OC Windows. Максимально возможная поддержка 3D среди высокоуровневых API. Трехмерную игру писать лучше на этой технологии.

    Справедливости ради замечу, что наибольшую производительность и мощь даст низкоуровневое программирование напрямую используя DirectX (и скорее всего используя язык С++), но такие игры пишут команды и фирм, а не один-два разработчика.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Изменено LXGDARK 18 мая 2012 г. 16:26
    • Помечено в качестве ответа Doctor Gordon 18 мая 2012 г. 16:27

Все ответы

  • Вопрос не в языке а в технологии. Как я уже писал вам раньше C# можно использовать при написании на разных платформах.

    Продублирую то сообщение с поправками (выделил жирным):

    C# - язык программирования. Создан с появлением .Net Framework как эволюция языка C++ для технологии .Net. Язык программирования нужен для создания алгоритма работы программы, логики ее поведения в тех или иных ситуациях. Все перечисленные ниже платформ позволяют писать на C#.

    WinForms - платформа для написания настольных бизнес приложений (привычных нам оконных приложений). Платформа определяет, то как ОС будет выполнять действия описанные с помощью выбранного языка программирования (C# или VB). Недостаток платформ в том, что она использует API созданные еще во времена первых WIndows и просто не умеет использовать современные возможности PC. Например рисование окна система выполняет с помощью процессора. Приложения 3D возможны, но используя только возможности платформы они не будут отвечать требованием даже простых 3D приложений. Обычно 3D в WinForms делают подключая библиотеки DirectX и пишут на низкоуровневых API.

    WPF - платформа для написания настольных бизнес приложений. Является развитием устаревшей WinForms, но при этом уходит далеко вперед. Рисование окна в приложении WPF осуществляется силами DirectX, который в 99% случаев работает с мощностью видео карт а не процессора, отсюда возможность создания красивых бизнес приложений. Имеет высокие возможности в создании и использовании готовых 3D моделей, а так же работы с ними. Вот описание встроеннsх в WPF возможностей 3D.

    XNA - платформа для создания игр. Как и в предыдущих платформах для описания действий игры используется язык программирования (C# или VB). Отличий WinForms и WPF от XNA много. В вышеописанных платформах используется принцип реакции на событие, произошло событие - пишем действия, нет событий нет действия. В XNA же описывается игровой экран в конкретный момент исходя из неких переменных, которые меняются в зависимости от действий пользователя. Кроме того XNA в отличии от платформ для бизнес приложения можно запускать как на PC так и на приставке Xbox или телефоне с OC Windows. Максимально возможная поддержка 3D среди высокоуровневых API. Трехмерную игру писать лучше на этой технологии.

    Справедливости ради замечу, что наибольшую производительность и мощь даст низкоуровневое программирование напрямую используя DirectX (и скорее всего используя язык С++), но такие игры пишут команды и фирм, а не один-два разработчика.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    • Изменено LXGDARK 18 мая 2012 г. 16:26
    • Помечено в качестве ответа Doctor Gordon 18 мая 2012 г. 16:27
  • Приложения 3D возможны, но используя только возможности платформы они не будут отвечать требованием даже простых 3D приложений

    Приведите пожалуйста пример "простого" 3D приложения

    30 января 2013 г. 13:39
  • Простое 3D приложение это приложение, которое позволяет вращать кубик у которого каждая сторона имеет свою текстуру. Простое приложение?

    Помнится в Windows 2000 был скринсейвер в котором вы от первого лица путешествовали по кирпичному лабиринту. Простое приложение?

    Ну и опережаю вопрос, что на мой взгляд "сложное 3D приложение". Любая современная игра, 3D редакторы, да и современные скринсейверы то же уже ушли от моего понятия "простое".


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    30 января 2013 г. 13:49
  • на каком из (Blitz, xna, DirectX) проще всего написать простое* приложение?

    на блитз придется изучать псевдо-код. 

    на хна нужно хотя бы прочесть 1 книгу (если толк будет, уж сильно большой)

    на ДайректИкс придется бросать сишарп и учить с++ .

    по моему все они не легкий путь.

    не проще ли на самом сишарпе все сделать, с помощью обычной System.Drawing если это возможно.

    3 февраля 2013 г. 19:17
  • Зайдите на Techdays и найдите видео "Игра на XNA за 30 минут".

    Данное видео лично меня убедило, что для простых приложений проще использовать XNA, но если у вас свое мнение по этому поводу не нужно его так яро отстаивать. Каждый использует то, что ему удобно и так как ему удобно.

    Лично мне System.Drawing не кажется проще тех пунктов, что вы изложили. Подходя к GDI+ с нуля нужно приложить столько же усилий сколько при изучении любой другой технологии.


    Женат на WPF. Тайно встречаюсь с WinRT. Не сложилось с C#!

    3 февраля 2013 г. 19:23