Utilizator:
Parola:
Am uitat parola... | Cont nou!


Articole Resurse Echipe Competiții Proiecte Forum DevBlogs Locuri de muncă GDROMag Issue#1 GDROCon 2007

 
Forum » Programare » Input » OIS




Pagina 1 din 1 [ 1 ]

Mesaj Info autor
    Postat la 26 Mar 2007 18:25:57    Subiect: OIS
SpOOky info:

SpOOky:

Object Oriented Input System

The goal of OIS is shield the application programmer from having to rewrite input systems from scratch for each project. It also aims to be multiplatform and has the most flexible license for allowing it to be ported to any platform while not requireing that you release the source (allows you to meet NDA requirements).

Its main target audience is game programmers; however, this does not preclude OISs use in other applications seeking crossplatform input. Currently, OIS works on Win32 (DXCool, Linux (X Windows), and there are plans/ports in work for MacOSX and BSD. There are also language bindings for Python (in OIS cvs oisaddons/python module). Hopefully, in the future the bindings will be increased to support Java and .Net.


Licenta: zlib/libpng

e integrat si in ogre 3d

http://www.wreckedgames.com/wiki/index.php/WreckedLibs:OIS


Status:
Înregistrat pe:
24 Mar 2007 20:48:46
Vârsta: 24 ani
Mesaje: 878
Locatie: Bucuresti
Modelator 3D
elohimSoft
 
    Postat la 27 May 2007 09:27:54    Subiect: < fara subiect >
Black_Knight info:

Black_Knight:

hmm a m inteles ca e dragut si asta oricum eu sunt pentru propriul sistem de input mai ales ca nu e nici prea greu de facut


Status:
Înregistrat pe:
07 May 2007 19:49:43
Vârsta: 29 ani
Mesaje: 712
Locatie: Bucuresti
Programator

 
    Postat la 05 Oct 2008 17:08:51    Subiect: < fara subiect >
Overburn info:

Overburn:

ce rost are sa iti faci propriul sistem de input cand ai unul deja destul de bun.
stii faza cu reinventing the wheel nu? Very Happy


Status:
Înregistrat pe:
06 Mar 2007 07:36:21
Vârsta: 21 ani
Mesaje: 291
Locatie: Ploiesti


 
    Postat la 05 Oct 2008 19:07:20    Subiect: < fara subiect >
boboS info:

boboS:

Ca initializezi DirectInput trebuie sa scrii cateva randuri. Si ai acces la mouse , tastatura si joystick. Joystick nu am folosit ca nu am dar mouseul si tastatura e braindead easy sa le folosesti in aplicatie.
Nu stiu la ce ar folosi OIS ala..poate cineva care l-a folosit sa ne zica.

Ultima editare efectuată de boboS pe 05 Oct 2008 19:08:02; 1 editări în total

"Noi ne facem ca muncim , ei se fac ca ne platesc"


Status:
Înregistrat pe:
03 Oct 2006 15:53:21
Vârsta: 26 ani
Mesaje: 961
Locatie: Galați
Programator

 
    Postat la 05 Oct 2008 21:06:04    Subiect: < fara subiect >
JIM info:

JIM:

L-ar folosi pt. ca e multi-platform banuiesc. Unlike DirectInput Smile


Intel i7 920 @ 4GHz, ASUS P6T, ATI 4870x2, 8GB DDR3 1600, Win7 x64


Status:
Înregistrat pe:
29 Apr 2007 22:20:51
Vârsta: 23 ani
Mesaje: 157
Locatie: Bucuresti
Programator

 
    Postat la 06 Oct 2008 11:29:17    Subiect: < fara subiect >
Dark info:

Dark:

Faptul ca e cross-platform e destul de irelevant avind in vedere ca pe platformele alea pe care le cistigi pe linga Windows nu se joaca nimeni.

Apropo de citeva linii pentru initializat DirectInput: DirectInput nu merita folosit pentru tastatura si mouse. E bun doar pentru joystick-uri, volane, pad-uri etc. (dar nu pentru pad-ul de 360). Cum se face treaba:

Tastatura: WM_KEYDOWN, WM_KEYUP.

Mouse:

1) WM_MOUSEMOVE & friends e o varianta, dar atentie, mesajele astea se trimit dupa ce se aplica pointer ballistics. Pe scurt asta inseamna ca distanta parcursa de cursor nu e o functie liniara a distantei parcurse de mouse pe pad. Asta e un lucru foarte bun pentru pointer in UI, dar nu e optim pentru unii playeri atunci cind controlezi camera cu mouse-ul (in FPS-uri, de exemplu). FPS-urile au in general un model propriu de acceleratie pentru mouse, dar e destul de ciudat sa-l aplici unor date care deja sint accelerate.

2) RawInput (WM_INPUT), care-ti da mesajele asa cum vin, fara sa aplice ballistics. Aparent exista dezavantajul ca trebuie sa implementezi tu ballistics pentru UI in joc (5 linii de cod), dar cum ziceam mai sus ai nevoie de un model de acceleratie si pentru tintit, deci codul ala se scrie oricum. Pentru placerea maxima probabil trebuie folosite alte curbe in UI decit in joc, dar sint 2 constante (sau 6, daca esti fancy). RawInput mai are si avantajul ca poti suporta mai multi mousi, daca jocul are nevoie de asa ceva. Utilizarea e banala, cum se vede aici: http://msdn.microsoft.com/en-us/library/bb206183 (VS.85).aspx#WM_INPUT (URL-ul nu merge din motive de parser varza in forum). De la XP incoace DirectInput e doar un wrapper peste RawInput.

Joystick-uri si pad-uri (in afara de controller-ul de 360): DirectInput.

Pad-ul de 360: XInput. Se poate folosi si cu DirectInput, dar triggerele apar ca o singura axa (adica unul e mapat pe jumatatea negativa si celalalt pe jumatatea pozitiva). Daca vrei sa-l folosesti, de exemplu, pentru un joc cu masini si sa pui frina si acceleratia pe triggere, limitarea asta e destul de nasoala (exista si unele volane care mapeaza pedalele asa, si nu poti sa te joci decit arcade-uri cu ele). Alte chestii care nu merg cu DInput sint vibratia si headset-ul. Ca fapt divers, XInput are si el o mare timpenie, si anume XInputGetState() dureaza miliarde de ani daca ceri un controller neconectat. Daca vrei sa-l folosesti pentru a te prinde cind user-ul conecteaza un nou controller in timpul jocului, trebuie sa muti input-ul intr-un thread separat si sa bagi mesaje async intr-o coada in thread-ul care le proceseaza, si chiar si atunci trebuie sa verifici daca s-au bagat controllere noi doar din cind in cind, nu in fiecare frame.

Ultima editare efectuată de Dark pe 06 Oct 2008 11:32:28; 4 editări în total

"Am crezut ca esti ceva mai avansat" - Nekitu, 2008 A.D.
Autobaza


Status:
Înregistrat pe:
12 May 2007 20:12:30
Vârsta: ? ani
Mesaje: 740
Locatie:
Programator

 
    Postat la 10 Nov 2009 22:09:51    Subiect: Re:
head-in-air info:

head-in-air:

boboS a scris:

Ca initializezi DirectInput trebuie sa scrii cateva randuri. Si ai acces la mouse , tastatura si joystick. Joystick nu am folosit ca nu am dar mouseul si tastatura e braindead easy sa le folosesti in aplicatie.
Nu stiu la ce ar folosi OIS ala..poate cineva care l-a folosit sa ne zica.


Cu jucaria OIS poti sa folosesti Wii Remote.Si te joci in soare.Si merita. Wink

offtopic : imi place comunitatea asta.bravo initiatorilor!

at least one title shipped.


Status:
Înregistrat pe:
10 Nov 2009 20:54:30
Vârsta: 23 ani
Mesaje: 3
Locatie: Pitesti
Programator

 

Pagina 1 din 1 [ 1 ]


Server time: 02:26:12 23.05.2012



[ Termeni si conditii | Contact | F.A.Q. | Funny Pictures ]

© 2006 - 2012 Copyright 7thFACTOR Entertainment - All rights reserved