Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Возможно ли сделать Wireframe режим в Stage3D (http://www.flasher.ru/forum/showthread.php?t=172669)

deamoK 14.12.2011 23:13

Возможно ли сделать Wireframe режим в Stage3D
 
Вряд ли кто-то знает, но попытка не пытка...
Облазил гугл, ничего подходящего не нашел.
Пока вижу, что пиксельный шейдер требует либо просто цвет вершин (mov oc, v0) либо текстуру (tex ft0, v1, fs0 <2d, repeat, miplinear>), а как сделать, что просто каркас рисовался?.. Оо Вообще без понятия, куда копать, может шейдер какой-нить нужен...

Alex Lexcuk 14.12.2011 23:48

Я ещё не смотрел на Stage3D, однако по логике каркас нарисуется если в текстуре нарисовать один треугольник, и передавать UW координаты текстуры этого треугольника для всех подряд граней.

deamoK 15.12.2011 01:32

Впринципе сделал, но токо в текстурку эту облачился токо 1 полигон, а на сцене квадратик из двух. (еще с uv запутался)
Закатал в пейнте треугольник красный на черном фоне, сделал blendmode SOURCE_COLOR, ONE, чтоб черный стал прозрачным, но красные полосы (в таком режиме смешивания) не видны на белом фоне сцены... Но ето все не суть тк, такой подход для танкистов. Надо норм каркасный режим, без текстур, а мы ресуем каркас на текстуре и накладываем на модельки... разрыв шаблона

alatar 15.12.2011 12:51

Что в вашем понимании "норм каркасный режим"? Можете получить все вершины модели и отрисовать между ними линии. Будет вам без текстур.

deamoK 15.12.2011 17:14

Я имел ввиду чтоб видеокарта рисовала линии, а не как раньше graphics.drawTriangles

alatar 15.12.2011 19:37

Stage3D не использует graphics.drawTriangles. Видеокарта не умеет "рисовать линии". Возможно будет достаточно написать шейдер, без использования текстур.

-De- 15.12.2011 19:46

Видеокарта умеет. В directx/opengl есть можно рисовать wireframe вместо треугольников. Сделано ли оно на флэш - не знаю, доки за кого-то читать лень)

deamoK 15.12.2011 23:28

Цитата:

Сообщение от alatar (Сообщение 1051731)
Stage3D не использует graphics.drawTriangles.

Не понял к чему это... Я как бы знаю, что не использует, я ж написал "как раньше"... Раньше я так делал, тк не было stage3D api.

В книге "Adobe Flash 11 Stage3D (Molehill) Game Programming.
Beginner's Guide" Christer Kaitila есть строчка:
In order to draw a mesh (unless you simply want to render a wireframe), you will use one or
more images, which are called textures, to color the shape. Больше, к сожалению, ни слова((


В доках нет нифига, искал, вроде бы, хорошо, гугль молчит...

-De- 16.12.2011 00:11

В доках по классам из display3D правда нет ничего похожего. Не понятно даже как просто линию/точку нарисовать без треугольников. В opengl/directx это указывается в функциях, самый близкий аналог которых - Context3D#drawTriangles() (glDrawElements / DrawPrimitive). Так что если не нечто недокументированное - то нет =\

deamoK 16.12.2011 00:34

Да, походу можно только прото цвет закатывать в fragment shader или текстурку =\


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

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