[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PCI GeForce? Yeeees ;)
> >> Fido nam zase mluvi z cesty :) Multitexturing je v W3D normalne ready,
> >> jen nemame HW, na kterym by to jelo :))))
>
> [source dokazujici ze multitexturing v W3D neni]
>
> > Toto je kousek z Warp3D.h Ukaz mi prosim ve strukture W3D_Vertex nejake
> > polozky U,V pro dalsi textury ? pripadne pro bumpmapu ?
>
> Zkus zapremyslet, smudlo. Frideni davno davinko napsali, ze to W3D ma
> (multitexturing), jen je 'temporary disabled', protoze nemame HW, na
> kterym to pojede. Ty to nevis, nebo jen pomlouvas?
Kdyz jsem videl tu definici vertexu a polygonu, kterou Fido vytahl z
hlavickoveho souboru W3D, nepripada mi to jako "docasne znefunkcneni".
Obvykle se takoveto zasahy delaji tak, ze se do definic predavanych
struktur sice nadefinuji vsechny potrebne polozky, ale interne pak
nejsou pouzivany.
Pokud by autori chteli rozsirit definici bodu o dalsi souradnice v
texture (a toto rozsireni je nutno udelat obecne, tzn. nejspis na urovni
pole souradnic s definovatelnou velikosti nebo seznamem bodu), museli by
tak ucinit "priplacnutim" zbytku na konec struktury.
To by samozrejme mozne bylo, ale i tak to s sebou nese mnoho problemu.
Obecne se takto problemy s rozsirovanim funkcnosti resi i (viz. definice
struktur pro Directdraw a D3D ve win32), ale na to musi byt pripravena i
funkce, ktere se takoveto "nafukovaci" struktury predavaji!
Casto je temto funkcim nejakym zpusobem predavana informace o velikosti
struktury. Z jednoducheho duvodu. Tato funkce ze struktury cte a do
struktury muze i zapisovat. Pokud by byla funkci predana struktura
kratsi, lehce se stane, ze zapise nekam, kam uz rozsah struktury
nezasahuje.
Pokud maji funkce W3D jako parametr i delku predavanych struktur, pak to
(snad) neni zadny problem. V jinam pripade, a zadnou informaci o delce
struktur nikde v definici nevidim, to pak to autori W3D budou muset
vazne cele prekopat, cimz se majitele Amigy dockaji nekolika uplne
odlisnych verzi W3D, ktere nebudou vubec kompatibilni.
> > W3D posilaji uz pretransformovane souradnice do screen space ?
> > A kde mas vlastne urcenou pozici svetla ?
>
> To je dobra otazka. Co myslis, bude to GeForce driver (pokud bude)
> delat taky tak, anebo ne? Uz?
Z Fidovych vecnych poznamek jasne pramenil zaver, ze pokud GeForce
transformace z world-coordinate-space do souradnic promitaci roviny
(screenu) nebude mit, tak je jakakoliv vyhoda tohoto cipu na Amize
nulova. Amiga se soucasne nejvice vyuzivanymi procesory (040,060,PPC603)
nestaci transformace provadet a prez PCI sbernici kartu krmit potrebnymi
udaji.
> Yes. Jen prosimte netvrd, ze W3D neumi (nebo spise, neni pripraven ;)
> na multitexturing a ze to bude nejaky problem. Nic vic, nic min ;)
Fido predvedl dukaz, ze W3D jaksi neni pripraven. A problem to bude
urcite. W3D (jak to chapu ja) je low-level API na urovni OpenGL (bez
extensions a v prvnich verzich), cimz umoznuje normalizovat pristup k hw
schopnostem karet -- zobrazit polygon, nanest texturu a vystinovat.
Provadet transformace souradnic a pocitat osvetleni vsak neumi a je
nutno pridat do API k tomuto ucelu nove definice funkci a predavanych
struktur. Problem prameni z toho, ze pokud API ma plnit svoji roli jako
jedineho pristupoveho bodu k hardware ruznych vyrobcu musi byt schopno
si poradit se situaci, ze nektery hw ovladac (ktery jako jediny primo
pristupuje k hw) nedokaze zobrazit/provest neco, co umi jiny. V dusledku
to znamena to, ze nektere veci se musi emulovat.
Nektere se podari emulovat jen se ztratou vykonu, nektere veci se
nepodari rozumne naemulovat vubec. Vysledkem je to, ze neco jede stejne
ale pomaleji, neco jineho zase jede ale bez urcitych veci (napr.
antialiasing) a neco nejede vubec.
Je vsak nutne aby API se bud snazilo naemulovat co mozna nejvice nebo
alespon zarucit rozumny beh programu i bez nekterych zobrazovanych veci.
A to je ukol urcite velmi problematicky.
Nekdo nad tim muze mavnout rukou, ale pokud na amigu (konecne) dorazi
PCI sbernice, tak se autori API urcite muzou pripravit na zaplavu
rozhorcenych amigistu (a dobre vime, jaky je vseobecny pristup
amigistu...), kteri si nakoupi karty
vsech moznych znacek. Ne kazdy ma totiz na to investovat deset tisic do
GeForce karty.
A tak nektere karty budou umet to a jine zase ono.
Microsoft sve API vyviji dobrych sest let. A prichody jednotlivych verzi
s sebou vzdy nesly reakci na prichod noveho hw. Na spadnuti je DX8,
nebot veci jako time-buffer (motion blur) opet klepou na dvere.
A ani OpenGL takto rychle na zmeny reagovat nestiha. Podari se to tedy
nekolika nadsencum delajicim W3D?
> Spravne. Myslis ze 'bypass' tohodle je problem? Ja bych to videl na
> par radku kodu :)
Ja bych v tom videl taky par radek kodu. To kdybych v zivote
neprogramoval poc. grafiku. Takhle v tom vidim par tisic radek kodu.
> Predstav si, ze API ma jiny volani pro ViRGE i pro P2. Neco proste neumi
> P2, neco ViRGE. Ouplne stejne to bude reagovat s jakymkoliv jinym driverem.
API nemuze mit jine volani pro ruzny hw. Pak by to nebylo Application
Programming Interface, ale sada funkci, ktera by primo pristupovala na
hw a programator by je vsechny musel sam implementovat do sveho
programu.
Takhle si ja API nepredstavuju. Nastesti si takhle API nepredstavuji ani
autori OpenGL ani Microsoft se svym D3D.
> Spravne. Me urcite. Ale GeForce by byl pekny kick-ass :)))
Samozrejme.
Amize velmi preju aby mela k dispozici po dlouhe dobe dobry kus
konkurenceschopneho hw.
Jsem vsak skeptik. A nemam rad, kdyz patologicti optimiste bezmezne
skacou radosti krmeni jiz v minulosti tolika uzasnymi a zarucene
pravdivymi informacemi (Walker, A-Box, Pre-box, Boxer, IWin, ...).
Kdyz se podivam, jake porodni bolesti provazely i D3D za nimz stoji
temer monopolni gigant, jsem prirozene skepticky.
A navic nemam rad, kdyz se o necem apriori rika "zadny problem".
defor
P.S.:
Na to, ze s takovou oblibou prezentujes svoji anglictinu ji mas velmi
spatnou.
Mas tam chyby.
> Then let's hit the Del key... :)
> ...if you don't like truth, it not menas, that you are mad. Most ppl's
> don't like it as well ;)