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

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

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

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

Ответ
 
Опции темы
Старый 10.06.2007, 21:16   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Вопрос о масштабировании текстуры.

Предположим, у меня есть текстура 1024х1024 и бэкбуфер 1280х1024. Вопрос: как мне содержимое бэкбуфера отмасштабировать так, чтобы скопировать его в текстуру без остатка (читай: как его отмасштабить по горизонтали с 1028 до 1024 чтоб он без остатка влез в тексу)?

З.Ы. ScaleTexture почему-то не помогает может, я не так делаю?

З.З.Ы. В хэлпе написано что она скалит текс. координаты
u_scale#,v_scale#
может, есть другой способ?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 11.06.2007, 01:55   #2
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Вопрос о масштабировании текстуры.

копируй в имагу, масштабируй имагу, копируй в тексу.
img=createimage(1280,1024)
copyrect 0,0,1280,1024,backbuffer(),imagebufer(img)
scaleimage img,1024,1024
copyrect 0,0,1024,1024,imagebuffer(img),texturebuffer(fucking_texture)
!ЕТО НЕ РЕАЛТАЙМ ОПЕРАЦИЯ.
(Offline)
 
Ответить с цитированием
Старый 11.06.2007, 03:49   #3
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: Вопрос о масштабировании текстуры.

Проще, хоть и не слишком шустро из-за двойного рендеринга, использовать вьюпорт камеры:
-ставишь размер вьюпорта по размеру текстуры CameraViewport()
-рендеришь мир RenderWorld()
-копируешь из заднего\переднего буфера в текстурный буфер CopyRect()
-меняешь вьюпорт камеры обратно CameraViewport()
-рендеришь мир RenderWorld()
(Offline)
 
Ответить с цитированием
Старый 12.06.2007, 07:05   #4
moka
.
 
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений
(для 6,863 пользователей)
Re: Вопрос о масштабировании текстуры.

Я делал как уже сказал HolyDel
копируй в имагу, масштабируй имагу, копируй в тексу.
img=createimage(1280,1024)
copyrect 0,0,1280,1024,backbuffer(),imagebufer(img)
scaleimage img,1024,1024
copyrect 0,0,1024,1024,imagebuffer(img),texturebuffer(fucking_texture)
!ЕТО НЕ РЕАЛТАЙМ ОПЕРАЦИЯ.
Только не забываем потом удалить имагу.
Вот крч я переделал:
Function ResizeTexture(Texture,Width%,Height%)
  Local Image=CreateImage(TextureWidth(Texture),TextureHeight(Textre))
  Local NTexture=CreateTexture(Width,Height)
  CopyRect 0,0,TextureWidth(Texture),TextureHeight(Textre),0,0,TextureBuffer(Texture),ImgeBuffer(Image)
  ScaleImage Image,Width,Height
  CopyRect 0,0,Width,Height,0,0,ImageBuffer(Image),TextureBuffer(NTexture)
  FreeImage Image
  Return NTexture
End Function
Писал в броузере, поэтому могут быть ошибочки
Функция возвращает Новую текстуру - Уже отмасштабированную.
(Offline)
 
Ответить с цитированием
Старый 12.06.2007, 14:17   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Вопрос о масштабировании текстуры.

Функция возвращает Новую текстуру - Уже отмасштабированную.
поетому если надо отмасштабировать одну тексу и записать в перемнноую хендл отмасштабированной тексы не делай так:
tex=ResizeTexture(tex,1024,1024)
так как в памяти отанется старая текса и ничем ты ее не убереш.
делай так
tex2=resizetexture(tex,1024,1024)
freetexture tex
tex=tex2
tex2=0
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
имя текстуры Spy4433 3D-программирование 3 01.09.2009 15:03
текстуры Samarik 3D-программирование 12 13.10.2008 09:42
Текстуры magpro 3D-программирование 5 13.10.2006 19:31


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


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