![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Здравствуйте, уважаемые форумчане!
Делаю я игрушку, и хочу написать для неё нормальный красивый интерфейс. Вопрос в технологии его отрисовки в Direct3d... В одном проекте делал 2 спрайта: один - граница, другой - собстно, компонент. ![]() Выглядит это вполне сносно, учитывая дизайн того проекта, но сейчас нужно нечто получше. Что-то типа скинов думаю сделать. Собственно, занимался ли этим кто-нибудь? Может какие-нибудь советы найдутся? Я пока вижу только 2 метода: - разбить спрайт на 9 частей и накладывать на каждый либо отдельную текстуру, либо одну, но с разными координатами ![]() - рисовать в шейдере, но в этой дряни я уже успел запутаться У кого какие мысли?
Изобретатель велосипедов
Последний раз редактировалось Selestis; 19.07.2010 в 21:37. |
![]() |
![]() |
![]() |
#2 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
Можно поподробнее что куда?)
Оно сильно будет отличаться от OGL?
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
О, ура, кто-то нашёл тему! =)
Ну, что значит поподробнее?.. Надо сделать GUI со скинами, так понятнее, наверное. Насчет OpenGL: без понятия, будет ли отличаться, но если есть мысли насчет него, всё равно говорите, буду рад)
Изобретатель велосипедов
|
![]() |
![]() |
![]() |
#4 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]()
Я только начинаю изучать OGL, по примерам из и-нета (ну нету книг по нему в нашем магазине
![]() Что есть "шейдер" не знаю... А вот по первому варианту могу сказать: Нужно разбить саму кнопку на 9 частей (8 частей будут бортики, а центральная - "клиентская область"), а у текстуры (одной на кнопку) как раз фиксированные координаты... ![]() Сделать переменные "ширина бортика", BtnW, BtnH - и получится всё как нужно...)
I am the First of Cyber Evolution...
I am the First to Program your Future... |
![]() |
![]() |
![]() |
#5 | |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Ну, собственно, такой вариант и иллюстрирован на второй картинке. Минус в том, что
Цитата:
Изобретатель велосипедов
|
|
![]() |
![]() |
![]() |
#6 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
Да почти все скины так сделаны - картинка + txt-файл с координатами-отступами...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Тут немного другая ситуация, нежели с обычными скинами. Дело в скорости: менять набор текстурных координат для каждого элемента управления - весьма дорогое удовольствие.
Изобретатель велосипедов
|
![]() |
![]() |
![]() |
#8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
двух слоев мало?
один фон другой рабочий, этого обычно хватит, в играх обычно так и есть. Цитата:
почему дорогое то? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#9 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
![]() Цитата:
Один раз задать при загрузке/перезагрузке текстуры...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
![]()
Текстурные координаты относятся к данным вершины, => в цикле отрисовки объектов с одинаковой геометрией и разными текстурными координатами нужно будет перенаправлять поток данных (SetStreamSource в Direct3d), чего собственно и хотелось бы избежать. Нужно чтобы этот самый набор координат+текс.координат был одним и тем же.
Изобретатель велосипедов
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
c++ и gui | jodam | Общие вопросы C/C++ | 7 | 18.05.2010 11:06 |
создание игры DirectX и C++ | Nick007 | Помощь студентам | 0 | 24.03.2010 13:17 |
Создание сложных объектов в gui | cherw9!40k | Общие вопросы по Java, Java SE, Kotlin | 0 | 22.03.2010 22:02 |
Создание GUI для WINDOWS | inzener-tolik | Помощь студентам | 8 | 13.03.2010 11:39 |
GUI и Си (?) | Дырдин | Общие вопросы C/C++ | 3 | 15.01.2010 20:39 |