|
С# Средство разработки на платформе .Net |
09.12.2010, 21:26
|
#1
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Вопросы по Xna
Вот накопилось несколько вопросов:
1) В шейдерах переменные цвета хранятся в float4. Как из кода передать в шейдер такую переменную (параметр), ведь в C# нет типа float4?
2) Как сделать шейдер во весь экран. Тоесть чтоб эффект был на всём экране? Тоесть чтоб вершинами были 4 угла экрана игры.
3) Как нарисовать круг? если циклом for и формулой то это я знаю
4) Есть ли какойнибуть плагин, чтоб при редактировании шейдера была хоть какаято подсветка? А лучше чтоб какиенибуть фичи. Типо первые буквы набираеш, а он слова всякие выдаёт подходящие (как в самом C#)
|
(Offline)
|
|
09.12.2010, 22:12
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
1) Vector4, Color?
2) Единичный квад без приведения к экранному пространству в шейдере.
3) а как ты еще хочешь? Отрендери диск, смоделенный в максе.
4) NShader, InteliShade (на xnadev.ru был в разделе файлы)
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.12.2010, 22:35
|
#3
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы по Xna
Спасибо!
Ещё вопросик, точнее 2:
1) Создал простой шейдер. Внутри техники шейдера, в файле .cs с помощью метода GraphicsDevice.DrawUserPrimitives рисую примитив. Как сделать его сглаженым, тоесть чтобы не было "лесинки"?
2) Как задать ширину линии? Толщину точки нашол, а линии нет
|
(Offline)
|
|
09.12.2010, 22:36
|
#4
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
Не помню чтобы в Wareframe можно было менять толщину линий. А по поводу лесенки: включай FSAA.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.12.2010, 22:39
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
12.12.2010, 23:36
|
#6
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы по Xna
Вопрос не по Xna, да и не по C#.
Как изменить язык программирования по умолчанию в VS 2008?
Тоесть когда создаёш проект, окно выбора такое:
+[Язык по умолчанию]
+[Другие языки]
|
(Offline)
|
|
13.12.2010, 00:33
|
#7
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
Думаю разберешься где жать далее )
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.12.2010, 21:39
|
#8
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы по Xna
Так, ещё вопрос:
со всеми вопросами пока разобрался кроме одного:
2) Как сделать шейдер во весь экран. Тоесть чтоб эффект был на всём экране? Тоесть чтоб вершинами были 4 угла экрана игры.
|
Вобщем pax дал какойто нёх код, но я не опйму как им пользоватся.
Вод допустим шейдер инверсии.
void VS( in float4 inPos : POSITION, in float4 inColor : COLOR0, out float4 outPos : POSITION, out float4 outColor : COLOR0 ) { outPos = inPos; inColor.rgb = 1 - inColor.rgb; outColor = inColor; } technique Technique0 { pass P0 { vertexShader = compile vs_2_0 VS(); } }
как сделать чтоб он работал на весь экран ? Куда его засунуть?
|
(Offline)
|
|
13.12.2010, 22:19
|
#9
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
Порядок такой: - Cоздать экземпляр класса FullScreenQuad который я дал.
- Установить эффект (шейдер) текущим.
- Установить P0 текущим пассом.
- У экземпляра класса FullScreenQuad вызывать Draw.
- Закрыть пасс.
- Закрыть эффект.
Только проблема в том, что шейдер твой инвертирует цвет рисуемого квада (т.е. цвет его вершин). И результат наверно будет черный экран.
Чтобы тебе сделать постобработку, тебе надо в шейдер передать текстуру и инвертировать ее цвет в пиксельном шейдере и уш точно не в вершинном. Т.е. сцену надо рендерить в текстуру. А потом ее использовать.
Досмотри уроки, там есть постобработка в виде подсветки лампочек на модели.
В итоге должно получиться что-то вроде: - Ставим текстуру целью визуализации
- Рендерим сцену в текстуру
- Ставим целью визуализации экран
- Cоздать экземпляр класса FullScreenQuad который я дал (можно где-то один раз как SpriteBatch).
- Установить эффекту текстуру сцены.
- Установить эффект (шейдер) текущим.
- Установить P0 текущим пассом.
- У экземпляра класса FullScreenQuad вызывать Draw.
- Закрыть пасс.
- Закрыть эффект.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
den (13.12.2010), moka (02.01.2011)
|
01.01.2011, 14:35
|
#10
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы по Xna
Разобрался
Вобщем я написал 2 класса: полноэкранный эфект, и FSAA. Очень просто в обращении. Если комуто надо нопишете, выложу
А теперь следующий вопрос: как записать звук с микрофона (необязательно в файл, можно просто в память) и работать с ним (воспроизвести, выдрать кусок, обратить) Вобщем я даже низнаю если такое в Xna или .Net фраемворке. Если нет, то есть ли библиотека?
|
(Offline)
|
|
01.01.2011, 15:19
|
#11
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
01.01.2011, 18:51
|
#12
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Вопросы по Xna
Всё, проблема решена. Нашол подходящую библиотеку.
NAudio
Качаем от суда.
там сама библа, исходник, а также 4 примера.
А вот здесь годный урок.
|
(Offline)
|
|
25.10.2011, 12:21
|
#13
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Вопросы по Xna
Здравствуйте, тоже хочу по XNA задать вопрос.
Подключил .Input.Touch, сделал всё что студия потребовала (перечислил необходимые мне жесты, а пока это только Pinch, сделал проверку на TouchPanel.IsGestureAvailable).
Но TouchPanel.IsGestureAvailable всегда false.
Какие могут быть идеи?
|
(Offline)
|
|
25.10.2011, 12:52
|
#14
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы по Xna
Не уверен, что у кого-то есть WP чтобы такое проверить...
|
(Offline)
|
|
25.10.2011, 12:56
|
#15
|
Бывалый
Регистрация: 18.08.2009
Сообщений: 745
Написано 146 полезных сообщений (для 215 пользователей)
|
Ответ: Вопросы по Xna
Это не WP, мне на настолке нужно.
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 19:45.
|