Newsgroup: it.comp.programmare.win32
Titolo: Help DirectDraw

Salve a tutti!!!
Sto realizzando un piccolo motore 3d software con DirectDraw. Tutto
sembrerebbe funzionare correttamente a qualsiasi risoluzione
purche' a 16bpp.
Provando a impostare profondita' di 24 o 32 bpp, setto tranqullamente il
livello di cooperazione, inizializzo la modalita', ma
quando creo la superfice primaria, ottengo un bellissimo errore: non sembro
avere accesso in modalita' esclusiva allo schermo.
Ma cactus, se l'ho impostato prima e a 16bpp andava bene!!!
Allego il codice qui di seguito... vi prego, AIUTATEMI!!!
if(pDirectDraw4->SetCooperativeLevel(Handle, DDSCL_FULLSCREEN |
DDSCL_EXCLUSIVE) != DD_OK) return(-1);
if(pDirectDraw4->SetDisplayMode(ModeVideo->HorizontalResolution,
ModeVideo->VerticalResolution, ModeVideo->BitPerPixel, 0, 0) != DD_OK)
return(-1);
DDSURFACEDESC2 DirectDrawSurfaceDesc2;
ZeroMemory(&DirectDrawSurfaceDesc2, sizeof(DirectDrawSurfaceDesc2));
DirectDrawSurfaceDesc2.dwSize = sizeof(DirectDrawSurfaceDesc2);
DirectDrawSurfaceDesc2.dwFlags = DDSD_CAPS | DDSD_BACKBUFFERCOUNT;
DirectDrawSurfaceDesc2.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE |
DDSCAPS_FLIP | DDSCAPS_COMPLEX;
DirectDrawSurfaceDesc2.dwBackBufferCount = 1;
if(pDirectDraw4->CreateSurface(&DirectDrawSurfaceDesc2,
&pDirectDrawSurface4Primary, NULL) != DD_OK)
{
            ESCE!!!!!!!!!
}
Ma peeeercheeeee???
Grazie in anticipo...
--
Claudio "Sta'ja Ame" Pozzoli

Probabilmente il problema è connesso al fatto che i tuoi driver non
supportano Direct3D a profondità di colore maggiori. Ad esempio le Matrox G
x00 arrivano solo a 16bpp per la serie 4 dei driver. Con la serie 5
rilasciata da qualche mese magicamente funziona alla perfezione. Tieni
presente che, comunque, la quasi totalità delle applicazioni D3D usa i 16bpp
per ragioni di prestazioni.
Comunque non ho una grande esperienza delle DirectX dal lato del
programmatore, pertanto la spiegazione del tuo problema potrebbe essere
un'altra.
Bye,
Lorenzo

 wrote in message
S%bG3.28376$1u4.1...@typhoon.libero.it...


avere accesso in modalita' esclusiva allo schermo.
è davvero strano che ti dia proprio questo errore dopo aver chiamato
setcoop... ti ritorna proprio DDERR_NOEXCLUSIVEMODE? Dovrebbe essere
impossibile...

 valide anche per Direct3D senza saperlo
Il problema con i driver che ho presentato č valido anche per DirectDraw. Il
mio consiglio č di fare una capatina su
http://www.matrox.com/mga/drivers/home.htm
 e di andare a vedere tra i Latest
Drivers. Non č detto comunque che questo risolva i tuoi problemi perché se
non sbaglio le vecchie Mistique continuano ad essere supportate solo dalla
serie 4 dei driver.... di piů, nin so.
Bye,
Lorenzo

 wrote in message
37ea7192...@news.tin.it...


>Proprio DDERR_NOEXCLUSIVEMODE... INQUIETANTE!!! Pensavo di averle viste
Sai, e' molto strano, l'unica cosa che puoi provare è cercare di
creare superfici differenti, del tipo offscreen, e vedere se quelle te
le lascia creare (non dovrebbe), e nel caso confrontare l'errore
(diverso) che ottieni. Chissa' se lo farebbe anche con le Dx7...

 wrote in message
T4vG3.32765$1u4.1...@typhoon.libero.it...


impossibile...
Anche io ho incontrato lo stesso identico problema e dopo un mese di prove
ho abbandonato la programmazione delle DirectX 6 :-(
Il bello è che gli esempi dell'SDK funzionavano.........
Ciao, Giuseppe
---------------------------------------------------------------------------
_Guybrush su IRCNet canale #programmazione
ICQ: 42227764
---------------------------------------------------------------------------

 wrote in message
5XQG3.36892$1u4.2...@typhoon.libero.it...


 wrote in message
6TbjyW1B$GA....@news.galactica.it...


> Per favore , a nome di tanti , attua le minacce !!!! -)
Siete i soliti... pur di sparare su Bill... ma non c'è proprio nessuno che
lo ammiri un po'? Per me è un grande: grazie a lui anche una persona senza
due lauree riesce ad usare un PC. Altrimenti saremmo ancora a usare
terminali di qualche Mainframe o ad impazzire con qualche Linux (abbasso
Linux! a morte Torvalds!)
Bye,
Lorenzo

 wrote in message
WbcH3.41494$1u4.2...@typhoon.libero.it...


 full screen. Quindi il problema non dovrebbe neanche sorgere, eppure....


(Non vorrei che questi post si trasformassero in una Guerra Santa Pro/Contro
Windows , è solo uno scambio di opinioni)
Ciao Loz (e a tutti gli amici del NG naturalmente ), pur rispettando la tua
opinione , quantomeno sui driver , non sono al 100% d'accordo con te :  tu
sei un programmatore , uno che bene o male sa cosa fare e cosa non fare
all'interno del proprio sistema , non così è per tutti gli utenti di Windows
che al primo errore .. devono chiamare l'assistenza  tecnica. Anche sulla
mia macchina il S.O. si pianta raramente (anche se più spesso di te , ma
spesso è colpa dei miei bug ...) ma ciò non accade così "raramente" presso
le persone con cui ho rapporti professionali.
La verità è che Microsoft ci ha abituati che "non è un problema" , lo stesso
Gates ha una volta candidamente ammesso che "a volte anche il suo si pianta"
, tutto è normale , tutto va bene.
Ma se il "tuo" o il "mio"  programma  si pianta ogni tanto , nessuno lo
pagherà ! Per il cliente è inaccettabile che un gestionale si pianti senza
ragione .. e vagli a dire che è colpa di Windows... e questo porta settimane
di test alla totale inutilità : Il programma funziona perfettamente ma
Windows si pianta e la figuraccia non la fa Microsoft ma l'azienda che lo ha
creato , con tutti i danni che ne conseguono..
Chi l'assistenza la fa dai tempi del DOS 2 .10 è da troppo stufo di
sopportare i bug e le angherie dei S.O. di casa Gates , l'utente "medio"
pretende poco dal suo sistema e nonostante questo spesso gli si pianta .. tu
parli di un blocco alla settimana (io ne accetterei uno all'anno il 15
d'agosto e forse darei la colpa alla ventola) , pensa se quel blocco ti
compromette una
giornata di lavoro fatto in contabilità , in CAD o peggio in Ray Tracing...
Non tutti i programmi , anche se professionali , ti consentono di salvare
spesso il lavoro , alcuni addirittura lo prevedono dopo la compilazione di
moduli complessi di input che richiedono ore ad un utente alle prime armi.
Le elaborazoni RT a volte durano settimane e il file AVI è leggibile solo al
completamento.. certo gli utenti più saggi "spezzano" l'animazione per poi
incollarla , ma non sempre è possibile e sopratutto non sempre un
professionista ha tempo da perdere davanti al computer per controllare che
non si pianti ! O pensa quando ti si pianta nel bel mezzo di un robusto
download senza colpa del server e della linea telefonica... Un sistema
operativo è funzionale quando non si pianta anche se messo sotto stress....
sinceramente (anche se comunque la pappa e quella per forza...) non mi
sembra che si possa dare al S.O. più diffuso al mondo lo stesso livello
d'affidabilità (e di efficienza) del System 7 o di OS/2 (il che è tutto
dire...), da Linux ( anche se sono d'accordo sul "A morte Torvalds") poi
siamo lontani anni luce... Certo Win98 è migliorato , lo sarà certamente
anche il 2000 e anche io sono convinto che prima o poi sarà stabile , ma da
lì ad essere Fault Tolerant come vorrebbero gli utenti ce ne passa... forse
ci vorrebbe un pò di concorrenza...
                Ciao ancora.
(Scusate mi sono dilungato un pò...)


 5goZj9GC$GA....@news.galactica.it...



 Windows , è solo uno scambio di opinioni)
Concordo. Peraltro ho cercato di tenere un tono scherzoso perché non mi
sembra il caso di scannarsi per questioni così futili (anche se qualche
volta ho sono finito in "discussioni" molto "animate" parlando con
detrattatori di Windows fedeli allo jihad anti-Bill).
Il primo punto è: su un computer che costa sul milione e mezzo, non si può
pretendere troppo. Chi vuole il fault-tolerant e l'affidabilità è costretto
a pagarle. In realtà il fault-tolerant esiste solo in hardware: componenti
ridondanti. Il software è invece soggetto a inevitabili bachi (in genere
puntatori impazziti) e purtroppo non c'è altro da fare. Da questo punto di
vista la tesi di Microsoft è anche comprensibile. Se sto scrivendo con Word
ho l'autosalvataggio e al massimo perdo qualche minuto di lavoro (mi è
successo molto di rado, comunque). Al massimo dire che "non è un problema" è
impreciso; più esattamente, è un problema poco risolvibile e in fondo
secondario, in un mondo di PC dove ormai la stragrande maggioranza
dell'instllato è home. Se in ufficio ad un impiegato si pianta il PC la
situazione cambia poco: al massimo perde la sessione corrente
dell'emulazione di terminale o qualche cella di Excel, ma nulla in confronto
all'abbassamento di produttività connesso a fattori quali il Solitario, la
Macchinetta del Caffè, il Corriere dello Sport, la prova comparativa di
Quattroruote.
La questione cambia in ambito professionale. Qui in effetti la questione è
diversa: ma innanzitutto non si installa Win9x che è messo su con lo spago
per conservare la retrocompatibilità. Ci va un sistema (quasi)senza
compromessi, la piattaforma NT è appropriata. Credo che NT non sia meno
stabile di altre soluzioni, quali ad esempio i vari Unix (si piantano anche
loro... e non parlo di Linux).
Comunque bug e angherie ci sono da sempre e non sono limitate a Microsoft.
Chi si ricorda di una certa IBM al tempo del monopolio (confesso che al
riguardo ho solo quello che la tradizione orale mi ha tramandato, vista la
mia età).
Restano di certo questioni irresolute. L'usabilità, per esempio. Ci sono
utenti che hanno difficoltà a trovare il tasto Start. Ma sinceramente non
credo che sia risolvibile, se non insegnando un minimo l'uso della macchina.
Io non voglio dire che Windows sia il non-plus-ultra. Ma io non ne farei mai
a meno, almeno finché non mi mettono davanti qualcosa di meglio. Linux? A
parte che NON è stabile, ma è fondamentalmente inutilizzabile.
Fammi sapere cosa ne pensi,
Lorenzo

 wrote in message
oveufeMC$GA....@news.galactica.it...


 wrote in message
SlHH3.45881$1u4.3...@typhoon.libero.it...
