forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Вопросы по XNA. (http://forum.boolean.name/showthread.php?t=16854)

Nextovoy 16.06.2012 21:03

Ответ: Вопросы по XNA.
 
Cannot autodetect which importer to use for "World\World1.txt". There are no importers which handle this file type. Specify the importer that handles this file type in your project. Content\World\World1.txt
Не понимаю как решить вот эту проблему, раньше не сталкивался, проблема появилась, когда я начал ресурсы одного проекта перемещать в другой ну в общем со всем кодом, просто я название наугад выбрал и в процессах оно скажем так... неприлично по английски звучало поэтому создал проект с другим именем и все начал перемещать.

Nikich 17.06.2012 17:35

Ответ: Вопросы по XNA.
 
Возникла проблема с методом GetTexture(). Почему-то, у меня выдаёт на него ошибку, мол такого метода не существует, однако он точно существует.
И ещё. Можно ли как-то применить пиксельный шейдер сразу ко всему экрану, не используя GetTexture? То есть мне шейдёр нужен только для пост-обработки, и GetTexture() как раз то что нужно, но у меня этот метод почему-то не работает:(
UPD
Узнал в чём проблема. Оказывается, в XNA 4.0 нету метода GetTexture(), вместо этого, сам RenderTarget2D и есть готовая текстура.

Nikich 18.06.2012 11:44

Ответ: Вопросы по XNA.
 
Нужна помощь с реализацией теней в 2D, а именно в теоритической части. Сам я придумал только один способ, но он должен быть крайне медленным.
В общем, вот в чем моя идея. После того как мы получили рендер сцены, в пиксельном шейдере меняем бэкграунд на белый(даже лучше на прозрачный). На это уйдет первый пасс. Второй пасс уходит на следующие:
Для каждого пикселя ищем угол от центра до него(до центра потому что источник света в центре), и зная угол, через синусы и косинусы приравниваем цвет этого пикселя к тому цвету пикселя, что лежит немного дальше. Таким образом, если пиксель рядом с предметом, что отбрасывает тень, то он(пиксель) станет черным. Хотя таким способом тени будут очень короткие, поэтому можно сделать еще один пасс на такую же функцию. Но можно и не делать, если длинные тени не нужны. Ну а потом накладываем на наш рендер то, что у нас получилось.
И как это все будет по скорости? И есть ли у вас другие предложения по этой теме?

Igor 18.06.2012 12:15

Ответ: Вопросы по XNA.
 
Цитата:

Для каждого пикселя ищем угол от центра до него(до центра потому что источник света в центре), и зная угол, через синусы и косинусы
Можно узнать синусы и косинусы без нахождения угла.
пусть вектор от центра до пикселя x,y, тогда синус - x/sqrt(x*x+y*y), косинус y/sqrt(x*x+y*y) или наоборот
А можно ещё лучше. Не искать синус и косинус. взять вектор (x,y), умножить его на 1.005 например и получить координаты чуть более дальнего пикселя (надо ещё прибавить половину ширины и высоты экрана). Правда, по увеличению расстояния от центра экрана тени тоже будут удлиняться

Nikich 18.06.2012 12:24

Ответ: Вопросы по XNA.
 
А как на HLSL из координат получить вектор?

Igor 18.06.2012 12:30

Ответ: Вопросы по XNA.
 
пара чисел - координаты, float2 уже сами по себе вектор. их можно складывать, умножать и т.п.
Пусть float2 А-вектор до источника, float2 В-вектор до пикселя (их координаты)
тогда С = (В-А)*1.01f+А - чуть более дальняя точка от источника света

Nikich 18.06.2012 12:55

Ответ: Вопросы по XNA.
 
Огромное спасибо!

Dream 18.06.2012 14:32

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Nextovoy (Сообщение 230505)
Cannot autodetect which importer to use for "World\World1.txt". There are no importers which handle this file type. Specify the importer that handles this file type in your project. Content\World\World1.txt
Не понимаю как решить вот эту проблему, раньше не сталкивался, проблема появилась, когда я начал ресурсы одного проекта перемещать в другой ну в общем со всем кодом, просто я название наугад выбрал и в процессах оно скажем так... неприлично по английски звучало поэтому создал проект с другим именем и все начал перемещать.

Если ещё не исправил - то проблема в том что контет экспортеры выставлены для этого файла

Nikich 20.06.2012 19:09

Ответ: Вопросы по XNA.
 
Ребята, не подскажите как SpriteSortMode.BackToFront по скорости? Сильно уступает Deffered? А то нужно глубину спрайтам делать, а рисовать их так, чтобы глубина оставалась правильной как-то неудобно.

Dream 21.06.2012 13:00

Ответ: Вопросы по XNA.
 
не сильно уступает. для обычных нужнд хватает с головой. только есть небоьшая особенность - чем слабее комп - тем большая вероятность что спрайты(текстуры) отренжереные на растоянии глубины(>0.02f), на одном месте, будут "моргать"(время от времени будут друг друга перекрывать)

Nikich 21.06.2012 13:40

Ответ: Вопросы по XNA.
 
Спасибо! А "два" это к чему относится?:)

Dream 21.06.2012 13:54

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Nikich (Сообщение 230910)
Спасибо! А "два" это к чему относится?:)

Это я о своём. удалил

Nikich 21.06.2012 16:49

Ответ: Вопросы по XNA.
 
Гм, а нет ли способа этого избежать? Это ведь может сильно надоедать, если всё скакать будет. Или всё же следует рисовать всё по порядку?
З.Ы. для второй прорисовки придётся бегать по большому массиву, так что это действительно нежелательно.

Dream 21.06.2012 17:55

Ответ: Вопросы по XNA.
 
Цитата:

Сообщение от Nikich (Сообщение 230933)
Гм, а нет ли способа этого избежать? Это ведь может сильно надоедать, если всё скакать будет. Или всё же следует рисовать всё по порядку?
З.Ы. для второй прорисовки придётся бегать по большому массиву, так что это действительно нежелательно.

Просто не следует рисовать текстуры которые будут лежать друг на друга на слоях с разницей меньше 0.02f, есшли ты делаешь тайловую землю допустим, и у тебя текстуры(тайлы) стоят впритык друг к другу, то можно использовать один слой и будет нормально

Nikich 21.06.2012 21:55

Ответ: Вопросы по XNA.
 
Не в этом беда. Если говорить про тайлы, то это равносильно тому, что тайлы пересекаются. И в этой ситуации уже ничего не поможет?


Часовой пояс GMT +4, время: 23:51.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot