Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.11.2014, 14:33
VisualDima вне форума Посмотреть профиль Отправить личное сообщение для VisualDima Найти все сообщения от VisualDima
  № 1  
Ответить с цитированием
VisualDima
 
Аватар для VisualDima

Регистрация: May 2009
Сообщений: 26
Чтобы еще раз все перепроверить, сделал отдельный проект где содержится только то, что нужно для теста.
Вот исходная картинка, как она выглядит в редакторе (фактически, редактировался только альфа-канал, цвет же везде белый 0xffffff):


Шейдер максимально простой (только XYZ и UV)
Код AS3:
			var vertexShaderAssembler:AGALMiniAssembler = new AGALMiniAssembler();
			vertexShaderAssembler.assemble ( Context3DProgramType.VERTEX,
				"m44 op, va0, vc0\n" +
				"mov v0, va0\n" +			// XYZ -> v0
				"mov v1, va1\n"				// UV -> v1
			);      
			var fragmentShaderAssembler:AGALMiniAssembler = new AGALMiniAssembler();
			fragmentShaderAssembler.assemble ( Context3DProgramType.FRAGMENT,  
				"tex ft0, v1, fs0 <2d,repeat,nomip,linear>\n" +  
				"mov oc, ft0\n"                  
			);
			m_pShaderProgram = m_pContext3D.createProgram();
			m_pShaderProgram.upload(vertexShaderAssembler.agalcode, fragmentShaderAssembler.agalcode);
Создание текстуры (mipmapping'а нет):
Код AS3:
			m_pTexture = m_pContext3D.createTexture(m_pBitmap.width, m_pBitmap.height,
                                          Context3DTextureFormat.BGRA, false);
			m_pTexture.uploadFromBitmapData(m_pBitmap.bitmapData, 0);
Вывожу два квада. Слева без блендинга:
Код AS3:
setBlendFactors(Context3DBlendFactor.ONE, Context3DBlendFactor.ZERO)
Справа с обычным блендингом:
Код AS3:
setBlendFactors(Context3DBlendFactor.SOURCE_ALPHA, Context3DBlendFactor.ONE_MINUS_SOURCE_ALPHA)
Внизу просто addChaild'ом добавил копию загруженной битмапы, чтобы проверить, что она загрузилась правильно (собственно, при выводе с блендингом должна быть именно такая картинка).
Вот что получилось в результате:


Либо я чего-то не понимаю, либо да, произвол. Слов нет кроме матерных.
Могу выложить весь проект (сделан в FlashDevelop'е)

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:34.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
blending , Stage3d , texture

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

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


 


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


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.