forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Xors3D (http://forum.boolean.name/showthread.php?t=6180)

Mr_F_ 13.06.2009 03:02

Ответ: Xors3D
 
гм, МоКа писал параллакс под ксорс, поищите на его сайте.

Randomize 15.06.2009 06:17

Ответ: Xors3D
 
Ребят, такой вопрос у меня.
Моногие используют(или пытаются использовать) Xors для Blitz3D так вот.
Былобы очень приятно если бы в Decls файле были прописаны функции, которые не касаются на прямую DLL, а находятся в Xors3D.bb.
Просто неудобно, когда пол кода не подсвечивается вобще.
Нехочу делать сам зазря, вдруг у кого такое есть.

Knightmare 15.06.2009 13:19

Ответ: Xors3D
 
В деклсе нельзя писать ничего кроме объявления функций. В старых версиях во всяком случае.

SBJoker 15.06.2009 13:29

Ответ: Xors3D
 
А в модуле бмакса любой код можна :)

ABTOMAT 15.06.2009 14:08

Ответ: Xors3D
 
В Visual Blitz например можно самому прописать что подсвечивать.

MiXaeL 15.06.2009 14:20

Ответ: Xors3D
 
Конечно можно.
Создаете деклс, в нем пишите .lib "" и запихиваете в него все функции из xors3d.bb
Правда, если вы запихнете что-нибудь лишнее или забудете файл приинклудить, он начнет ругаться, мол Userlib not found.

impersonalis 15.06.2009 14:27

Ответ: Xors3D
 
Цитата:

Сообщение от Michael (Сообщение 107623)
Конечно можно.
Создаете деклс, в нем пишите .lib "" и запихиваете в него все функции из xors3d.bb
Правда, если вы запихнете что-нибудь лишнее или забудете файл приинклудить, он начнет ругаться, мол Userlib not found.

да-да! смотрим в сторону Fast-либ, читаем деклсы.

Randomize 16.06.2009 05:12

Ответ: Xors3D
 
Пользуйте господа!
Создаём файл xors_icn.decls и вставляем туда следующий текст:
Код:

.lib " "
xLightShadowEpsilons(light%, eps1#, eps2#)
xSetShadowShader(path$)
xInitShadows(dirSize%, spotSize%, pointSize%)
xSetShadowParams(splitPlanes%, splitLambda#)
xInitDeferred(tex1%, tex2%, tex3%, tex4)
xSetDeferredShaders(mrtShader$, lightShader$)
xRenderWorldDeferred(texture%)
xCreateLog%(target%, level%, filename$)
xJoyType%(portID%)
xJoyDown%(key%, portID%)
xJoyHit%(key%, portID%)
xGetJoy%(portID%)
xWaitJoy%(portID%)
xJoyX#(portID%)
xJoyY#(portID%)
xJoyZ#(portID%)
xJoyU#(portID%)
xJoyV#(portID%)
xJoyPitch#(portID%)
xJoyYaw#(portID%)
xJoyRoll#(portID%)
xJoyHat#(portID%)
xJoyXDir%(portID%)
xJoyYDir%(portID%)
xJoyZDir%(portID%)
xJoyUDir%(portID%)
xJoyVDir%(portID%)
xGraphics3D(width, height, depth6, mode, vsync)
xText(x%, y%, dText$, cx%, cy%)
xExtractAnimSeq%(ent%, ff%, fl%, seq%)
xSetPixelShaderEntityTexture(ent%, name$, index%)
xSetEffectEntityTexture(ent%, name$, index%)
xCreateListener%(parent%, rolloffFactor#, dopplerScale#, distanceScale#)
xSetEffectTexture(ent%, name$, tex%, frame%)
xSetPixelShaderTexture(ent%, name$, tex%, frame%)
xLoadAnimSeq%(ent%, path$)
xSetCubeFace(tex%, face%)
xRect(x1%, y1%, x2%, y2%, solid%)
xOval(x%, y%, w%, h%, solid%)
xPointEntity(ent1%, ent2%, roll#)
xAlignToVector(ent%, x#, y#, z#, a%, f#)
xCreateCone%(seg%, solid%, parent%)
xEntityX#(ent%, isGlobal%)
xEntityY#(ent%, isGlobal%)
xEntityZ#(ent%, isGlobal%)
xEntityRoll#(ent%, isGlobal%)
xEntityYaw#(ent%, isGlobal%)
xSetPostEffect(pe%, index%)
xSetPostEffectVectorF(pe%, name$, x#, y#, z#, w#)
xSetEffectVectorF(pe%, name$, x#, y#, z#, w#)
xEntityPitch#(ent%, isGlobal%)
xDrawImage(img%, x%, y%, frame%)
xCreateLight%(lType%)
xCreateSprite%(parent%)
xLoadSprite%(path$, flags%, parent%)
xSaveImage(img%, path$, frame%)
xRectsOverlap(rect1_X%, rect1_Y%, rect1_Width%, rect1_Height%, rect2_X%, rect2_Y%, rect2_Width%, rect2_Height%)
xLoadTerrain%(path$, parent%)
xClearWorld(e%, b%, t%)
xCreateParticleSystem%(tex%, frame%, minps#, maxps#, parent%)
xCreateParticle%(psys%, plife%)
xParticleSystemTexture(ent%, tex%, frame%)
xCreateMesh%(parent%)
xCreateSurface%(mesh%, brush%)
xLoadBrush%(path$, flags%, xs#, ys#)
xAddVertex%(surf%, x#, y#, z#, u#, v#, w#)
xTileImage(img%, x%, y%, f%)
xVertexColor(surf%, ver%, r#, g#, b#, a#)
xVertexU#(surf%, vert%, tset%)
xVertexV#(surf%, vert%, tset%)
xVertexW#(surf%, vert%, tset%)
xClearSurface(surf%, verts%, tris%)
xVertexTexCoords(surf%, ver%, u#, v#, w#, tset%)
xCreateBrush%(r#, g#, b#)
xBrushColor(br%, r#, g#, b#)
xBrushAlpha(b%, a#)
xCopyMesh%(ent%, parent%)
xCopyEntity%(ent%, parent%, cloneBuff%)
xCreateImage%(w%, h%, f%)
xLockBuffer(buf%)
xUnlockBuffer(buf%)
xImageBuffer%(img%, frame%)
xTextureBuffer%(tex%, frame%)
xCreateTexture%(w%, h%, fl%, fr%)
xWritePixel(x%, y%, argb%, buff%)
xCopyPixel(sx%, sy%, sbuf%, dx%, dy%, dbuf%)
xCopyPixelFast(sx%, sy%, sbuf%, dx%, dy%, dbuf%)
xWritePixelFast(x%, y%, argb%, buff%)
xReadPixel%(x%, y%, buff%)
xReadPixelFast%(x%, y%, buff%)
xBrushShininess(b%, s#)
xBrushBlend(b%, bm%)
xBrushFX(b%, fx%)
xBrushTexture(b%, t%, f%, i%)
xEntityShininess(ent%, s#)
xModifyTerrain(ent%, x%, y%, h#, rt%)
xCreateTerrain%(size%, parent%)
xEntityTexture(ent%, tex%, frame%, index%)
xDrawImageRect(img%, x%, y%, rx%, ry%, rw%, rh%, frame%)
xEntityPickMode(ent%, Mode%, obsc%)
xLoadFont%(font$, height%, bold%, italic%, underline%)
xLinePick%(x#, y#, z#, dx#, dy#, dz#, dist#)
xAnimLength#(ent%, root$)
xAnimSpeed#(entity%, rootBone$)
xSetAnimSpeed(entity%, speed#, rootBone$)
xAnimating%(ent%, root$)
xAnimTime#(ent%, root$)
xAnimSeq%(ent%, root$)
xSetAnimTime(ent%, time#, root$)
xCameraProjMode(cam%, Mode%)
xCameraFogMode(cam%, Mode%)
xRenderWorld(twen%)
xUpdateWorld(speed#)
xAnimate(ent%, mode%, speed#, se%, trans%, root$)
xCreatePivot(parent%)
xLoadAnimMesh%(path$, parent%)
xLoadMesh%(path$, parent%)
xEntityParent(entity%, parent% , isglobal%)
xSetSkinningMethod(method)
xCreateCamera%(parent%)
xPositionEntity(ent%, x#, y#, z#, isGlobal)
xCreateCube%(parent%)
xCreateSphere%(seg%, parent%)
xCreateCylinder%(seg%, solid%, parent%)
xScaleEntity(ent%, x#, y#, z#, isGlobal)
xMoveEntity(ent%, x#, y#, z#, isGlobal)
xTranslateEntity(ent%, x#, y#, z#, isGlobal)
xRotateEntity(ent%, x#, y#, z#, isGlobal)
xTurnEntity(ent%, x#, y#, z#, isGlobal)
xLoadTexture%(path$, flag%)
xGetBrushTexture%(brush%, index%)
xSetVertexShaderVectorF(ent%, name$, x#, y#, z#, w#)
xSetPixelShaderVectorF(ent%, name$, x#, y#, z#, w#)

Теперь у нас есть подсветка всего синтаксиса Xors3D в любом IDE!

ABTOMAT 16.06.2009 14:00

Ответ: Xors3D
 
Не в любом ;)
Например в Visual Blitz работать не будет (он не подсвечивает decls вообще), в нём свой список подсвтки, что, имхо, удобнее. З.Ы. Уже 10 месяцев живу без подсветки dll и вполне неплохо ;)

Randomize 17.06.2009 05:21

Ответ: Xors3D
 
Цитата:

Сообщение от ABTOMAT (Сообщение 107747)
Уже 10 месяцев живу без подсветки dll и вполне неплохо ;)

Силён, а я так не могу...
Цитата:

Сообщение от ABTOMAT (Сообщение 107747)
Например в Visual Blitz работать не будет

Не в любом, всё зависит от версии ;)

Illidan 17.06.2009 14:55

Re: Xors3D
 
хмм... а может быть заодно кто-нибудь знает как организовать подсветку в бмаксе?))

SBJoker 17.06.2009 15:27

Ответ: Xors3D
 
Юзать нормальный IDE?

Illidan 17.06.2009 16:01

Re: Xors3D
 
А что? есть нормальные?!)))

moka 19.06.2009 03:42

Ответ: Xors3D
 
Illidan, Blide/TextMate...
Насчёт параллакса, есть ещё возможность что будут проблеммы с тангент спейсом, т.к. от него очень многое зависит. Я как наткнулся на него, потому попрагал говорой об каменного Render'a, так и забил. Но он позже переписал генерацию тангентов, и щас должно работать нормально.
Есть ссылка, где есть простейший параллакс (это не степ и не рельеф).
Но там шейдер настолько кривой, использует много ифов и в нём ещё и мусор, короче говоря, просто почитай внимательно шейдер, и вырежи всякие условия, бамп и спекуляр. Оставь только параллакс с диффузом и уже там добивайся картинки.
Шейдер писался мной давно, был тогда глуп. Так что на вашу отвтетсвенность.
http://moka.ucoz.ru/load/0-0-0-84-20

Зы, я вот щас в блокноте кожу, без компилинга, в автобусе, на мобилке!
И уже 300 строк написал, и всё работает, на отладку уходит когда приезжаю домой минут 5-10. :)

Mr_F_ 19.06.2009 13:08

Ответ: Xors3D
 
самая мякотка вот она

float PlxDepth=.03;
float PlxDist=1000;

float3 PosCam;
float3 OrigPosCam;

OrigPosCam=PosCam;
PosCam=normalize(PosCam-IN.pWorld); //pworld это мул(in.position,MatWorld)

float depth;
float height;
float bias=PlxDepth/2;
float3x3 matTangentSpace=float3x3(IN.Tangent,IN.Binormal,IN .Normal);
matTangentSpace = transpose(matTangentSpace);
float3 CamPosPlx = normalize(mul(PosCam,matTangentSpace));
PlxDist = 1-(distance(OrigPosCam,IN.pWorld)/PlxDist);
if (PlxDist>.05) {
depth = tex2D(depthtex,TexCoords).r;
height = (PlxDepth*depth-bias);
TexCoords = TexCoords+height*CamPosPlx.xy*PlxDist;
}

юзаем texcoords теперь для диффуза и чего угодно


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot