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

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

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

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 28.03.2007, 00:44   #1
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
RotateTexture

Вращает текстуру за угол, а я хочу чтоб она вращалась по центру.
это можно как нибудь сделать для меша с UV координатами вертекса
00
01
10
11
Э, квада?
(Offline)
 
Ответить с цитированием
Старый 28.03.2007, 09:07   #2
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: RotateTexture

Можно так
Function RotateTexture2(Texture, Angle#)
   RotateTexture(Texture, Angle)
   Local Dx# = Cos(Angle) / 2
   Local Dy# = Sin(Angle) / 2
   PositionTexture(Texture, (Dx - 0.5) - Dy, (Dy - 0.5) + Dx)
End Function
А через текстурные координаты - вращение 4x4 матрицы ищи.
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
impersonalis (18.09.2011)
Старый 18.09.2011, 18:00   #3
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: RotateTexture

блин, я несколько часов выводил эту формулу для спрайта, у которого размеры были 2 на 2 (вывел). Потом 20 минут пытался адаптировать для текстуры с вариацией координат 1 на 1 и обратным углом вращения.
Как удобно упал вчера сервер - простор для творчества никогда ещё не был так широк
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
St_AnGer (18.09.2011)
Старый 18.09.2011, 18:31   #4
ffinder
Дэвелопер
 
Аватар для ffinder
 
Регистрация: 10.09.2007
Сообщений: 1,442
Написано 793 полезных сообщений
(для 1,460 пользователей)
Ответ: RotateTexture

так может сразу DROP DATABASE; и дело с концом? у всех сразу появится много времени на свои проекты
(Offline)
 
Ответить с цитированием
Эти 5 пользователя(ей) сказали Спасибо ffinder за это полезное сообщение:
LLI.T.A.L.K.E.R. (18.09.2011), moka (18.09.2011), Nex (19.09.2011), Reks888 (19.09.2011), St_AnGer (18.09.2011)
Старый 22.10.2011, 20:38   #5
impersonalis
Зануда с интернетом
 
Аватар для impersonalis
 
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений
(для 20,935 пользователей)
Ответ: RotateTexture

Function RotateTexture3(Tex%,x#,y#,ang#)
	RotateTexture Tex,ang
	Local u#=x-x*Cos(ang)+y*Sin(ang)
	Local v#=y-x*Sin(ang)-y*Cos(ang)
	PositionTexture Tex,-u,-v
End Function
демо
Graphics3D 800,600,32
SetBuffer BackBuffer()

Global Cube=CreateCube()
Global Camera=CreateCamera()
PositionEntity Camera,0,0,-4

Global light=CreateLight()

Global Texture%=0
Global XRt#,YRt#

While Not KeyHit(1)
	If KeyHit(57)
		If Texture
			FreeTexture Texture
		EndIf
		XRt=Rnd(0,1)
		YRt=Rnd(0,1)
		Texture=GenTex(XRt,YRt)
		EntityTexture Cube,Texture
	EndIf
	If Texture
		RotateTexture3(Texture,XRt,YRt,MilliSecs()*0.001*5)
	EndIf
	RenderWorld()
	Flip
Wend
End

Function RotateTexture3(Tex%,x#,y#,ang#)
	RotateTexture Tex,ang
	Local u#=x-x*Cos(ang)+y*Sin(ang)
	Local v#=y-x*Sin(ang)-y*Cos(ang)
	PositionTexture Tex,-u,-v
End Function

Function GenTex%(xp#,yp#)
	Local Tex=CreateTexture(128,128)
	Local CurBuf%=GraphicsBuffer()
	Local xpd%=xp*128
	Local ypd%=yp*128
	SetBuffer TextureBuffer(Tex)
		Color 255,255,255
		Rect 0,0,TextureWidth(Tex),TextureHeight(Tex)
		Color 0,0,0
		Line xpd,0,xpd,TextureHeight(Tex)-1
		Line 0,ypd,TextureWidth(Tex)-1,ypd
		Color 255,0,0
		Oval xpd-5,ypd-5,11,11
	SetBuffer CurBuf
	Return Tex
End Function
Управление - пробел.
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
HolyDel (26.10.2011)
Ответ


Опции темы

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

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


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


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