[Plugins] UpdateGraphics

Discussion in 'rFactor 2 General discussion (Discussioni)' started by fazerbox, Mar 14, 2012.

  1. fazerbox

    fazerbox Registered

    Joined:
    Oct 6, 2010
    Messages:
    187
    Likes Received:
    8
    Desideravo sapere se qualcuno conosce come va utilizzata la UpdateGraphics() dei Plugin.

    Mi chiedevo:

    1) Può può essere utilizzata per lo sviluppo di plugin grafici per rFactor2 evitando di utilizzare una proxy d3d9.dll?
    2) Se sì, come si recupera il puntatore all'oggetto IDirect3DDevice9?
    3) Se non serve a sviluppare plugin grafici per rFactor2, a cosa serve?
    4) E' possinbile avere un esempio di come si usa?

    Ho letto sul forum che al momento c'è un problema con questa funzione, che dopo circa 20 secondi causa il blocco delle chiamate e che presto questo bug verrà risolto, in ogni caso sono curioso di sapere come si usa.

    Per Max Angelo, puoi girare queste domande al Team ISI?

    Grazie,
    Max
     
  2. Max Angelo

    Max Angelo Registered

    Joined:
    Oct 5, 2010
    Messages:
    4,958
    Likes Received:
    10
    Ok, posso chiedere poi ti faccio sapere.
     
  3. Max Angelo

    Max Angelo Registered

    Joined:
    Oct 5, 2010
    Messages:
    4,958
    Likes Received:
    10
    Allora, l'intenzione era di includere il puntatore, o implementare qualsiasi altro sistema per evitare l'hack della d3d9.dll.
    Al momento però questa implementazione funziona solo in rFactor Pro perchè, LOL, il programmatore si è scordato di implementare la funzione anche in rF2.

    La tua domanda ha ricordato al programmatore la necessità di implementarla in rF2 e sarà aggiunta in futuro, forse già nella prossima update.
     
  4. fazerbox

    fazerbox Registered

    Joined:
    Oct 6, 2010
    Messages:
    187
    Likes Received:
    8
    Questa è una grande Notizia!!!!

    Ringrazia il programmatore da parte mia e grazie a te per la disponibilità.

    Max.
     
  5. Max Angelo

    Max Angelo Registered

    Joined:
    Oct 5, 2010
    Messages:
    4,958
    Likes Received:
    10
    Si, da quanto capisco, è necessario anche un aggiornamento specifico del motore grafico (T, che è il programmatore della fisica e del sistema plugin, mi ha detto che dovrà parlarne con Joe (che è il programmatore del motore grafico).

    Voglio dire, mi auguro per te che le priorità di Joe corrispondano hehe, in caso contrario può darsi che l'implementanzione tardi un po'! :)
     
  6. fazerbox

    fazerbox Registered

    Joined:
    Oct 6, 2010
    Messages:
    187
    Likes Received:
    8
    Aspetterò serenamente, non è una cosa urgente ma certamente di aiuto agli sviluppatori di plugin grafici.

    Visto che c'è la volontà di andare in questa direzione, vorrei aggiungere dell'altro.

    Quando si lavora con la grafica DirectX, nasce spesso il problema del fatidico blocco o crash dovuto all'ALT-TAB.
    Questo accade se il programma è in modalità schermo intero ( non in modalità finestra ), e durante l'ALT-TAB non sono rilasciate eventuali risorse grafiche acquisite in precedenza.

    Ora, non basterebbe passare il puntatore all'oggetto IDirect3DDevice9, ma occore che il plugin sia anche al corrente anche degli eventi legati all'ALT-TAB, per intenderci le chiamate alle funzioni IDirect3DDevice9::OnLostDevice() e IDirect3DDevice9::OnResetDevice(). In questo modo il Plugin può rilasciare le risorse acquisite per riacquisirle successivamente.
    Forse la cosa più comoda sarebbe proprio l'estensione dell'interfaccia dei plugin aggiungendo due nuovi metodi ::OnLostDevice() e ::OnResetDevice()

    Questa cosa, probabilmente non dirà nulla a chi sviluppa il sistema per l'integrazione dei Plugin ma dirà molto al programmatore del motore grafico Joe.
    Il mio vuole essere solo un suggerimento e sono certo che riusciranno a trovare la soluzione ottimale per evitare il blocco dovuto all'ALT-TAB.

    Dato che ci siamo, sarebbe possibile avere un puntatore alla periferica o periferiche di Input utilizzate (Tastiera, Volante, altro )?
    Sarebbe possibile avere lo stato dei tasti/bottoni?
    Queste sono informazioni che rFactor2 ha già e se un plugin necessita di queste informazioni, dato che le ha già lette rFactor non ci sarebbe motivo di doverle rileggere col rischio di perdere qualche FPS.

    Saluti,
    Max
     
  7. Max Angelo

    Max Angelo Registered

    Joined:
    Oct 5, 2010
    Messages:
    4,958
    Likes Received:
    10
    Fazerbox, non vorrei sembrare scortese, perchè non è mia intenzione esserlo, ma penso sinceramente che un contatto diretto con ISI (dico con il programmatore del sistema plugins) sarebbe la soluzione ideale, e penso anche al tuo post nel thread dei bug.

    E' vero che Terence (T per fare prima hehe) è abbastanza impegnato e non sempre risponde, o almeno risponde con molta calma, ma so che legge tutte le mails indirizzate alla sua attenzione.

    Il mio problema è che di C++ e di plugin non ci capisco un'acca e questo mi rende impossibile giudicare la qualità delle tue indicazioni (il post sopra è un buon esempio, di solito non ho remore a dare suggerimenti a ISI, ma sempre in modo molto generico o quanto meno su argomenti che conosco bene) ... per dire, non mi permetterei mai di dire -potresti scrivere il codice così- quando magari le tue idee potrebbero al contrario essere valide e interessanti.

    Spero di essermi spiegato. :)

    Ti scrivo via PM come contattare T.
     

Share This Page