|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
19.07.2010, 21:31 | #1 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Создание GUI в DirectX
Здравствуйте, уважаемые форумчане!
Делаю я игрушку, и хочу написать для неё нормальный красивый интерфейс. Вопрос в технологии его отрисовки в Direct3d... В одном проекте делал 2 спрайта: один - граница, другой - собстно, компонент. Выглядит это вполне сносно, учитывая дизайн того проекта, но сейчас нужно нечто получше. Что-то типа скинов думаю сделать. Собственно, занимался ли этим кто-нибудь? Может какие-нибудь советы найдутся? Я пока вижу только 2 метода: - разбить спрайт на 9 частей и накладывать на каждый либо отдельную текстуру, либо одну, но с разными координатами - рисовать в шейдере, но в этой дряни я уже успел запутаться У кого какие мысли?
Изобретатель велосипедов
Последний раз редактировалось Selestis; 19.07.2010 в 21:37. |
01.08.2010, 19:01 | #2 |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Можно поподробнее что куда?)
Оно сильно будет отличаться от OGL?
I am the First of Cyber Evolution...
I am the First to Program your Future... |
01.08.2010, 20:10 | #3 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
О, ура, кто-то нашёл тему! =)
Ну, что значит поподробнее?.. Надо сделать GUI со скинами, так понятнее, наверное. Насчет OpenGL: без понятия, будет ли отличаться, но если есть мысли насчет него, всё равно говорите, буду рад)
Изобретатель велосипедов
|
01.08.2010, 21:24 | #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... |
01.08.2010, 21:47 | #5 | |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Ну, собственно, такой вариант и иллюстрирован на второй картинке. Минус в том, что
Цитата:
Изобретатель велосипедов
|
|
01.08.2010, 21:59 | #6 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
Да почти все скины так сделаны - картинка + txt-файл с координатами-отступами...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
01.08.2010, 22:09 | #7 |
Форумчанин
Регистрация: 21.01.2009
Сообщений: 719
|
Тут немного другая ситуация, нежели с обычными скинами. Дело в скорости: менять набор текстурных координат для каждого элемента управления - весьма дорогое удовольствие.
Изобретатель велосипедов
|
02.08.2010, 00:03 | #8 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
двух слоев мало?
один фон другой рабочий, этого обычно хватит, в играх обычно так и есть. Цитата:
почему дорогое то? Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
02.08.2010, 00:39 | #9 | |
Студент, не
Старожил
Регистрация: 29.01.2009
Сообщений: 2,067
|
Цитата:
Один раз задать при загрузке/перезагрузке текстуры...
I am the First of Cyber Evolution...
I am the First to Program your Future... |
|
02.08.2010, 13:54 | #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 |