Люди,помогите закрасить пирамиду методом Гуро,а то я чё его не понимаю ни хрена!
Вот полная формулировка:закрасит усечённую пирамиду с правильным 6-тиугольником в основании,предусмотреть изменение ориентации пирамиды и двигать источник света!
Я сейчас дошёл до определения нормалей поверхностей!
Кхе, кхе...
А про етот метод по-подробней можно?
Если бы я знал,я бы не спрашивал!короче его суть в том, что надо расчитать интенсивность освещения в вершинах(это я почти сделал),а потом построчно расчитывать интенсивность каждого пикселя!это в принципе я смогу сделать(хотя пока не получилось),там одна математика!но чё делать дальше:вот у меня получилась интенсивность в точке,например, 3,68 и как мне закрасит этот пиксель с такой интенсивностью???
Установи режим на 24/32 бита, а затем используй что-нибудь типа
Как установить 24/32 бита?
и что эта функция мне даст?она же не выводит на экран ничего?
и что такое maxintensivnost?
Объясни поподробней,пожалуйста!очень надо!
Объясняю.
Есть и под BP такие BGI-драйвера, которые умеют 24/32 бита. А под TMT Pascal, так это вообще родное.
Далее, ты сказал, что сможешь высчитать интенсивность каждого пикселя. Очень хорошо. Есть такое понятие, как градации серого. Для отображения твоей пирамидки тебе, я думаю, этого хватит. А ф-ция, которую я привёл как набросок, вычисляет именно подходящую градацию серого по простой пропорции. А maxintensivnost обозначает максимальную интенсивность, которую может принимать какая-либо точка.
BlackShadow, А если не серого то тогда как : )
mihashark, потом большая просьба скинуть программу.
Dark
Можно сделать очень даже симпатично: со временем менять палитру. Т. е., допустим, первые 2 минуты использовать градации красного, затем синего, зелёного, жёлтого, серого... Довольно эффектно смотрится.
Т.е. RGB вычисляет яркость цвета,это я понял!а чё потом делать?
Так можно быдет:
[/RGB[n,n,n]
putpixel(x,y)]
и он этот пиксель закрасит с нужной интенсивностью???
И вообще чё за RGB?он пишет unknown identifier!!!
С чего бы это...
Ты, я так понял, под BP пишешь.
RGB там нету. И не интенсивность оно задаёт, а цвет формирует. Любой цвет состоит из трёх базовых: красного ( R ), зелёного ( G ) и синего ( B ). Если всего поровну, то получается, что-то серое, а вот яркость зависит от кол-во того другого и третьего.
Самому написать RGB очень легко:
Прикольно, а я и не знал, что ( R ) без пробелов заменяется на ®
Оба варианта при параметрах 100,100,100 выводят красный цвет!
если парамеры одинаковые (5,5,5) и (10,10,10) он должен вывести один и тот же цвет,но с разной интенсивностью?
Слушай,BlackShadow,вруби аську так проще будет!
В теории да. А вот аську врубить не могу по загадочным причинам - она конектиться не хочет. Я ближе к ночи до дому доберусь, тогда можно будет и поговорить... Только я в Invisible всегда, так что пиши не стесняйся - подрублюсь, сразу отвечу.
BlackShadow,тот модуль что я скачал с http://pascal.sources.ru/graph/fastvesa.htm,я чето не могу инициализировать графический режим,не подскажешь как это сделать?
Надо вызвать StVESAMode с параметором
$100 - 640*400
$101 - 640*480
$103 - 800*600
$105 - 1024*768
$107 - 1280*1024
А, если держится VBE 2.0, то и $120 - 1600*1200
Только проверяй, тянется ли этот режим.
погляди в задачах - вывод pcx, там изложена моя библиотечка...
Dark, а какой там формат палитры? По байту на R, G и B?
ага, 768 байт - это 256 цветов (R,G,B )
-mihashark-, ну что, ещё вопросы есть?
И как там с результатом, написал?
да я чё то забил пока,других дел много!наверно в четверг-пятницу буду делать!но там ещё одна хрень в этом fastvesa-там есть процедура SetRGBColor,я её использую,но потом при выводе пикселя там требуеться указать цвет:putpixel(x,y,color),т.е. цвет надо указывать,а я его могу устанавливать только SetRGBColor,а именно задать число цветом не получаеться!посмотри как там это делаеться!я тебе на почту пришлю свою прогу,там ещё проблема в том что я не правильно вывожу пиксели(не туда куда нужно)!
mihashark
а ты на форуме выложи ,прикрепленным файлом.
BlackShadow, на чё,посмотрел?я смог залить пирамиду,но только если на неё сначала посмотреть,т.е. если её повернуть немного,то он по другому закрашивает!я скорее всего в delphi перекину,там RGB вроде встроенная есть,и выглядит лучше чем в паскале!
Ну чё поможешь закрасит пирамидку???