Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2008, 01:02   #1
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию Текстуры OpenGl

Здравствуйте..

Долго искал ответ на свой вопрос: как наложить разные текстуры на разные примитивы, искал примеры в иисходниках, но что - то понять так и не смог. Предположем имеем больше 30 объектов использовать те примеры будет не очень хорошо так после четвертой начинает глючить так что.....

Вообщем не могли бы вы на примере объяснить как наложить много текстур на "много" объектов?

Заранее блогадарю...

P/S За "синтексис" простите...
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 04.12.2008, 17:08   #2
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Ребят тут есть кто живой? Или с такими проблемами никто некогда не сталкивался??
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 04.12.2008, 23:16   #3
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Уважаемые форумчане...

Мне действительно важно разобратся в этой теме (в интернете накопал множество литературы и большинство из этой литературы под C++,) но явного ответа как наложить на => 30 (пример) примитивов 30 текстур я не нашел...

По этому решил поставить вопрос по другому - какова цена вопроса?

Мне нужен простой пример пускай будет форма любые объекты и разные текстуры на этих объектах и все.
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 05.12.2008, 11:47   #4
Crucian
Пользователь
 
Регистрация: 21.09.2007
Сообщений: 32
По умолчанию

Честно говоря я с open gl тоже плотно работал только на visual c++.

Есть книга по open gl в delphi. Там про текстуры написано..если нужно, могу выслать
Crucian вне форума Ответить с цитированием
Старый 05.12.2008, 17:23   #5
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от Crucian Посмотреть сообщение
Честно говоря я с open gl тоже плотно работал только на visual c++.

Есть книга по open gl в delphi. Там про текстуры написано..если нужно, могу выслать
Честно говоря литературы и исходников у меня на 200 мб включая всяких движков, и тому подобное, но есть одно но..
Когда они накладывают текстуру (даже несколько) они объявляют переменую... т.е есть накладывается 5 текстур в разделе объявлены 5 переменных. А теперь представим ситуацию если мне нужно использовать больше 30 текстур что мне придется объявлять 30 переменых? я считаю это не логично не с какой точки зрения..

У меня есть один исходник, который берет координаты и названия текстур указанные в текстовом файле... но перебить под себя точнее взять необходимый код не могу... я его приложил..
Вложения
Тип файла: rar basicEngine.rar (109.7 Кб, 15 просмотров)
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 16.12.2008, 23:39   #6
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Не знаю как все остальные но я кроме вопросительных знаков и всякой ерести не чего не вижу.... это какая кодировка?
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Старый 17.12.2008, 16:35   #7
theos
Форумчанин
 
Аватар для theos
 
Регистрация: 10.12.2007
Сообщений: 158
По умолчанию

Я в основном на С++ прогаю, так что не знаю, как конкретно ети функции называются в дельфе. Но фишка основная в том, что перед прорисовкой примитивов с нужной текстурой надо забиндить её по имени.
Код:
	glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, texName);
Здесь имя - номер возвращаемый при создании.

Не забудьте правильно установить все glTexEnvf, ну и всякие подобные вещи, типа текстурных координат.
theos вне форума Ответить с цитированием
Старый 17.12.2008, 17:55   #8
Stanislav
Квадрокоптерист
Участник клуба Подтвердите свой е-майл
 
Регистрация: 29.09.2007
Сообщений: 1,824
По умолчанию

Цитата:
Сообщение от theos Посмотреть сообщение
Я в основном на С++ прогаю, так что не знаю, как конкретно ети функции называются в дельфе. Но фишка основная в том, что перед прорисовкой примитивов с нужной текстурой надо забиндить её по имени.
Код:
	glEnable(GL_TEXTURE_2D);
	glBindTexture(GL_TEXTURE_2D, texName);
Здесь имя - номер возвращаемый при создании.

Не забудьте правильно установить все glTexEnvf, ну и всякие подобные вещи, типа текстурных координат.
Я нашел такой вариант наковырял в каком-то движке...

procedure LoadMap;
var F : Textfile;
Tex : Array of String;
S : String;
I, J : Integer;
begin
AssignFile(F, 'map.txt');
Reset(F);

// Load the textures
Readln(F, TextureCount);
SetLength(Tex, TextureCount);
SetLength(Texture, TextureCount);
for I :=0 to TextureCount-1 do
begin
Readln(F, S);
Tex[i] :=Copy(S, 1, Pos(' ', S)-1);
S :=Copy(S, Pos(' ', S)+1, length(S));
LoadTexture(S, Texture[i], FALSE);
end;
for J :=0 to TextureCount-1 do
if Tex[J] = S then
Face[i].TextureIndex :=J;
end;
CloseFile(F);
end;

а потом когда мне нужна нужна текстура я делаю так (точнее кто-то делал)

glBindTexture(GL_TEXTURE_2D, Texture[i]);
Я часть той силы, что вечно хочет зла, но вечно совершает благо..
Stanislav вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
OpenGL и текстуры N!ckeL Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 05.05.2010 15:46
текстуры beygul Gamedev - cоздание игр: Unity, OpenGL, DirectX 17 02.10.2008 21:57
Текстуры, картинки, анимации Doom4eg Gamedev - cоздание игр: Unity, OpenGL, DirectX 5 02.08.2008 21:35
Неправильное считывание текстуры. Все размытою GamerSuper Gamedev - cоздание игр: Unity, OpenGL, DirectX 15 08.02.2008 12:37
OpenGL текстуры NoName_emaNoN Win Api 3 29.11.2007 20:11