Форум программистов, компьютерный форум, киберфорум
XNA/MonoGame
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
17 / 17 / 1
Регистрация: 14.11.2011
Сообщений: 94
1

Динамическое изменение текстуры

08.11.2015, 14:47. Показов 1203. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Делаю что то похожее с игрой Game of Life. Но то ли xna/monogame не созданы для таких игр, то ли я не так делаю. Суть в том что на одной текстуре(RenderTarget2D) отрисовываются пиксели. Но когда отрисовка пикселей за кадр превышает 500-1000, начинает падать фпс.

Я пробовал делать по разному: SetData даже в отдельном потоке работает медленно, причем когда от него начинает падать фпс даже удаление всех пикселей он продолжает лагать (или вовсе вызывает исключение); SetRenderTarget и отрисовкой в нем пикселей тоже проседает фпс от 500 пикселей за кадр.

Я конечно знаю, что тут лучше всего использовать HLSL, но я не знаю как в нем изменить данные текстуры что бы тот отрисовывал их. В массив цветов не влезет текстура с размером 600х400. Да и вообще этот HLSL работает странно, не пойму можно ли в нем изменить текстуру типа Texture2D.

Теперь я в тупике. Может кто то знает как решить такую проблему? Буду очень благодарен!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2015, 14:47
Ответы с готовыми решениями:

Изменение текстуры
Привет форумчане сразу к делу. Имеется массив хранящий кубы, ну грубо говоря воксельный мир, цель...

Изменение текстуры по точкам в пространстве
Уважаемые форумчане. Есть такая задача: openGL < 3.0 Есть объект в пространстве, получаю...

Изменение цвета в изображении с сохранением текстуры
Имеется изображение PNG с прозрачностью. Допустим вот такое Имеется задача менять цвет этого...

Изменение текстуры одной из 100 картинок
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data;...

1
25 / 25 / 10
Регистрация: 14.12.2014
Сообщений: 110
14.11.2015, 12:50 2
HarkBack, ты отслеживал велечины массивов, загрузку ЦП, ОЗУ и ГП? Для начала отследи параметры и ты примерно должен понять что не справляется и тогда можно найти источник проблемы. Мне, кажется, что не справляется ЦП и где-то у тебя накапливаются и просчитываются ненужные ресурсы. Либо подойди к концепции создания игры по другому, оптимизируй код. Там где производится много вычеслений, кеширивание переменной типа mass.Lenght в цикле может выиграть 1-2 фпс, ну и так далее.
0
14.11.2015, 12:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.11.2015, 12:50
Помогаю со студенческими работами здесь

Как побитово скопировать с текстуры на текстуры разных форматов, не прибегая к обращениям в CPU?
Если ли способ в opengl скопировать бит в бит текстуры любого формата в uint8 одноканальный, но с...

Динамическое изменение ip
Здравствуйте! Как сделать динамическое изменение ip адреса (чтобы менялся на другое) через каждую 1...

Динамическое изменение View
Меня интересует, как можно дать возможность пользователю динамически менять вид... Во-первых,...

Динамическое изменение интерфейса
Здравствуйте! Я работаю в qt creatore, и с qt только знакомлюсь. И хотел узнать, как делать такое...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru