CAST II Game Engine Community

Please login or register.

Login with username, password and session length
Advanced search  

Author Topic: Работа с текстурами  (Read 1482 times)

0 Members and 1 Guest are viewing this topic.

admin

  • Administrator
  • Full Member
  • *****
  • Posts: 192
    • CAST II Engine
Re: Работа с текстурами
« Reply #5 on: June 17, 2010, 05:09:18 AM »

TMegaImagePaintOp это класс для операций, используемых в редакторе для редактирования мегатекстуры. Не обязательно его использовать для этого.

В демо Land в процедуре PrepareMegatexture как раз производится модификация мегатекстуры, а именно загружается random.bmp и в случайных местах рисуется в мегатекстуру.
Алгоритм такой:
Есть класс TMegaImageResource. Он инкапсулирует мегатекстуру и позволяет её модифицировать. Его метод SaveRect копирует на мегатекстуру изображение и имеет следующий список параметров:
function SaveRect(Rect: TRect; ALevel: Integer; Src: Pointer; SrcImageWidth: Integer; BuildMips: Boolean): Boolean;

Rect - структура, задающая положение и размер куска мегатекстуры, куда надо скопировать оригинал
ALevel - mip-уровень мегатекстуры, куда копировать
Src - адрес, где хранится данные картинки-оригинала
SrcImageWidth - ширина оригинала в пикселах
BuildMips - задает надо ли пересчитывать mip-уровни

Т.е. надо обзавестись картинкой и с помощью этого метода скопировать её в нужное место.
« Last Edit: June 17, 2010, 05:30:22 AM by admin »
Logged

Lamer

  • Newbie
  • *
  • Posts: 2
Re: Работа с текстурами
« Reply #4 on: June 11, 2010, 09:43:58 AM »

Добрый вечер. Начал разбираться с движком, и вчастности заинтересовала меня технология мегатекстуры. Копаю демку, пока с трудом доходит, я и программист на паскале то никакой... так вот возник вот какой вопрос, как сделать закраску различных уровней детализации мегатекстуры. Нашел в мануале TMegaImagePaintOp, но что-то никак не могу с ним разобраться. Подскажите, пожалуйста алгоритм действий. Заранее признателен :)
Logged

admin

  • Administrator
  • Full Member
  • *****
  • Posts: 192
    • CAST II Engine
Re: Работа с текстурами
« Reply #3 on: September 23, 2009, 11:49:25 AM »

Да, урок по редактору нужен и он делается.
TImageResourse проще всего создать просто перетащив из проводника файл с картинкой. В данный момент поддерживается только формат .bmp.
Также, можно воспользоваться пунктом меню Windows->images, далее new image. Это откроет окно, куда через меню file->open можно загрузить изображение в разных форматах. Сделать из него ресурс можно щелкнув по изображению правой кнопкой и выбрав "create BMP resource".
Logged

DeRZoST2

  • Newbie
  • *
  • Posts: 2
Re: Работа с текстурами
« Reply #2 on: September 23, 2009, 10:26:36 AM »

Хочу добавить, Baskoff урок хорош, но хватит ссылку в каждый топик совать и рекламировать свои уроки,
ты вообще написал стрелялку делаем в итоге сделали копию демки Water, я думаю для начала всех заинтересует не сам
движок и тд и тп а редактор, если вы не сделаете карту зачем вам лаунчер? в общем действительно урок хороший будет по редактору...если не трудно и если сможешь, сделай....
Logged

DeRZoST2

  • Newbie
  • *
  • Posts: 2
Работа с текстурами
« Reply #1 on: September 23, 2009, 10:18:53 AM »

Так то что
И> или Ии> это я
то что без И> это админ)
-----
И> Здраствуйте, у меня вопрос, я открываю через эдитор
И> DungeonLooter карту, открываю в эдиторе рисунки объектов типо земли
И> камня и тд, если менять через ваш редактор то всё работает, а если
И> сохранить и в фотошопе переделать то во первых ничё не меняется во
И> вторых если и меняется то всё исчезает, так вот создаю новое
И> изображение и вообще без понятия как в него текстуры засунуть,
И> помогите...
-----
Здраствуйте!

Как я понял, Вы хотите поменять картинку с текстурами тайлов?
Проще   всего  это  можно  сделать так:
1. подготавливаете новую текстуру в графическом редакторе (Photoshop и т.п.)
2. копируете её текстуру в буфер обмена (ctrl+c)
3. открываете соответствующую  текстуру (BMP_Blocks) в CAST II Editor двойным щелчком по ней
4. вставляете новую из буфера обмена
5. т.к.  в  данном случае используется т.н. альфа-канал, то надо тоже
самое  повторить и для него. Для этого выбираете пункт меню
view->view alpha
6. опять  копируете в фотошопе уже  альфа-канал  новой  текстуры (также заранее
подготовленный, как и текстура)
7. так же вставляете в C2 Editor альфа канал
8. чтобы увидеть результат, выбираете пункт меню file->apply

Скорее всего из-за отсутствия альфа-канала и наблюдались исчезания.
Каким  должен быть альфа-канал, можно посмотреть, открыв текстуру в C2
Editor и выбрав в меню view->view alpha.
-----
Ии> Ну во первых альфа канал там чёрный,

В большинстве случаев он не используется. Но в тайлах он точно есть.

Ии> во вторых как мне в фотошопе альфа канал посмотреть

В  фотошопе  можно  создать отдельный файл для альфа канала. Это будет
проще, если не владеете манипуляциями с каналами там.
Т.е.  перед вставкой в RGB канал копируете обычную картинку в буфер, а
перед вставкой в альфа канал копируете другую.


Ии> и в третих, как при создании новой картинке в редакторе ещё
Ии> поменять, там ошибка лезет, когда двойным щелчком открыть
Ии> пытаюсь...

Видимо,  это  какая-то  старая  версия  редактора.  Давно  с  таким не
сталкивался.
Попробуйте скачать по этой ссылке (2 Mb):
http://casteng.com/download/CASTEd.zip
-----
И> Сколько не бьюсь, ну не получается рисунок добавить в imageresurse

Что именно не получается?
Как делаете?
Может, имеет смысл перенести общение на форум?
http://casteng.com/smf2_0b/index.php/board,2.0.html
Дабы другие могли почерпнуть опыта.
-----
Так вот хочу продолжить не через мыла а через форум, я нажимаю новый предмет,
выбираю TImageResurse
всё она появилась, нажимаю на неё 2 раза и ничего не происходит, как мне в него рисунок загрузить?
Logged
 

+ Quick Reply

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:

Please enter the number 234 in the field: