Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > C++

Ответ
 
Опции темы
Старый 11.01.2009, 12:05   #1
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Вопрос Текстурные координаты в примитивах

Для создания примитивов я использую стандартные функции класса Mesh( Mesh.Box, Mesh.Sphere, ... ). Но я обнаружил, что в создаваемых примитивах отсутствует информация о текстурных координатах . Их можно както рассчитать? Я понимаю, как для куба, а вот для сферы, тора или конуса?
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 11.01.2009, 12:27   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Текстурные координаты в примитивах

на всё свои методы...

это может быть полезным:
http://blitz.pp.ru/forum/showthread....&threadid=4109
(Offline)
 
Ответить с цитированием
Старый 11.01.2009, 13:52   #3
jimon
 
Сообщений: n/a
Ответ: Текстурные координаты в примитивах

конечно криво, но сфера и конус собсно являются цилиндром без верхних граней, цилиндр является прямоугольником замкнутым на себя, для сферы я использовал это свойство, она генерировалась перебирая сферические координаты с некоторым шагом и раставляя таким образом индексы, если поделить текущую сферическую координату на отрезок которую она проходит получим текстурную координату (тоесть края прямоугольника имели положенные им 4 координаты (0,0) (1,0) (0,1) (1,1) )

для тора возможно применения схожего метода, главное понять как действительно хочешь чтобы текстура накладывалась, а методов её наложения куча
 
Ответить с цитированием
Старый 11.01.2009, 18:22   #4
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Печаль Ответ: Текстурные координаты в примитивах

Сообщение от Mr_F_ Посмотреть сообщение
это может быть полезным
Это немного криво.
jimon, я ничего не понял к сожалению, я не особо шарю в математике, и даже хз, что такое сферическая координата
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Старый 11.01.2009, 18:29   #5
jimon
 
Сообщений: n/a
Ответ: Текстурные координаты в примитивах

http://ru.wikipedia.org/wiki/Сфериче...тема_координат

я сферу создавал так :
case PMT_SPHERE:
	{
		s32 Detail = 50;
		f32 R = 1;

		s32 VtSize = Detail * Detail;

		video::jeVertex_T2F_C4F_N3F_V3F * Vt = NULL;
		JENEW_A(Vt,video::jeVertex_T2F_C4F_N3F_V3F,VtSize)

		for(s32 V = 0; V < Detail; V++)
		{
			for(s32 U = 0; U < Detail; U++)
			{
				f32 Th = ((f32)V / (f32)(Detail-1)) * jePi;
				f32 Ph = ((f32)U / (f32)(Detail-1)) * jePi * 2;

				f32 STh,CTh,SPh,CPh;

				jeSinCos(Th,STh,CTh);
				jeSinCos(Ph,SPh,CPh);

				s32 i = V*Detail + U;

				Vt[i].Position.SetXYZ(R*STh*CPh,R*CTh,R*STh*SPh);
				Vt[i].Color.SetColor(1,1,1,1);
				Vt[i].u = ((f32)V / (f32)(Detail-1));
				Vt[i].v = ((f32)U / (f32)(Detail-1));
			}
		}

		s32 ItSize = (Detail-1)*(Detail-1)*6;

		u32 * It;
		JENEW_A(It,u32,ItSize)

		s32 i = 0;
		for(s32 V = 0; V < Detail-1; V++)
		{
			for(s32 U = 0; U < Detail-1; U++)
			{
				It[i++]  = V*Detail + (U+1);
				It[i++]  = (V+1)*Detail + (U+1);
				It[i++]  = V*Detail + U;

				It[i++]  = (V+1)*Detail + (U+1);
				It[i++]  = (V+1)*Detail + U;
				It[i++]  = V*Detail + U;
			}
		}

		video::jeMaterial * Material;
		JENEW(Material,video::jeMaterial)

		CSurface * Surface;
		JENEW(Surface,CSurface)
		Surface->SetSurface(CurrentRender,Material,EnableRenderOptimization);
		Surface->CreateRenderOperations(video::VT_T2F_C4F_N3F_V3F,VtSize,Vt,video::IT_U32,ItSize,It);

		JEDELETE_A(Vt)
		JEDELETE_A(It)

		CMesh * Mesh;
		JENEW(Mesh,CMesh(CurrentRender))

		Mesh->AddSurface(Surface);
		Surface->Drop();

		return Mesh;

	}
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
-=Jack=- (12.01.2009)
Старый 12.01.2009, 23:44   #6
-=Jack=-
ПроЭктировщик
 
Аватар для -=Jack=-
 
Регистрация: 10.01.2009
Адрес: хз
Сообщений: 177
Написано 18 полезных сообщений
(для 44 пользователей)
Ответ: Текстурные координаты в примитивах

спс, попробую разобратся.
__________________
Я бы изменил мир, но Бог не даёт исходников...
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Текстурные координаты вручник Lighthouse 3D-программирование 3 19.07.2009 14:00
Координаты в изометрии MiXaeL Математика 7 31.01.2009 16:56
Текстурные тени tormoz Библиотеки 1 19.06.2008 23:45
Координаты Fant 3D-программирование 7 08.02.2007 21:36
Декалы текстурные. Stalnoy_Gvozd' 3D-программирование 18 28.01.2007 13:24


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com