1

Jako ze na grzybie pisze sobie tylko proste procedury i nie znam sie na tym pytam kogos bardziej kumatego.

Czy problemem jest napisanie malego programu (pod Windows), ktory wyswietlalby dwa pelne ekrany (dwa rozne obrazki), na przemian synchronizujac to z czestotliwoscia odswierzania ekranu?

Czy konieczne sa do tego karty grawiczne o wielkich pamieciach wspomaganiach 3D i tym podobne??

Skad pytanie. Otoz mam okulary 3d (takie mrugajace na przemian), a w komputerze jakas prosta karte Radeon 9250 (i tak kupilem tylko po to by miec wyjscie DVI, bo wspomaganie 3D nie jest mi potrzebne). Chcialbym wyswielic sobe prae fotografii 3D (czyli dwa pliki JPG), mozna robic to na rozne sposoby, ale najlepszym jest oczywiscie "page-flip", czyli wlasnie to co opisalem powyzej.
Tyle tylko ze wszystkie programy, ktore to umozliwiaja wymagaja specjalnych sterownikow 3D do karty (a ma je wylacznie nVidia) a do tego wymagaja "quad buffered OpenGL", czyli podobno 256 MB RAM na karcie.

Na Atari to ja bym to zrobil w minute kopiujac DL i zmieniajac adresy skoku po VBL :) a tu jakies wymagania z kosmosu.
Jak pisalem chodzi tylko o naprzemienne wyswietlanie dwoch plikow JPG.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

2

Pobierzne przeglądnięcie dokumentacji do DirectXa i prostych examplesów pozwoli na napisanie takiego programu. W DXie możemy zdefiniować sobie front buffer i backbuffer. Można ustawić urządzenie tak, aby na zakończenie renderowania sceny robiło flip. wtedy buffery się zamieniają. Do obydwu bufferów mamy dostęp. Wystarczy więc je nadpisać texturami utworzonymi z podanych obrazków (wszystkie niezbędne funkcje są już w bibliotece) i napisac pustą scenę. Nie wiem jaka akceleracja jest do tego potrzebna (to w końcu DX) ale takie rzeczy działały mi na Rivie TNT Vancie, więc na R9250 spokojnie się da.

3

no to w czym problem ??? Napisz to na atarynce i odpal pod atari800win ;-)

4

No to kto mi cos takiego napisze? :)

Wczytanie dwoch plikow np. JPG, a potem mruganie nimi na przemial. ;)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

5

Przykład w jaki sposób można coś takiego napisać jest tu
Aplikacja okienkowa. 640x480. flipuje ekranami w dość brzydki ale działający sposób w rytmie refreshu monitora.
Niestety mogłem poświęcić na to tyle czasu ile mogłem i w rezultacie wymaga .NET 2.0 i jakiegoś nowego DirectX. W razie chęci kompilacji wymaga jeszcze DXSDK i .NETSDK i np #develop. Testowane na pentium II 400 MHz i Riva TNT2 M64 i działa. Ale nie ręczę, że zadziała gdziekolwiek.
Jakbyś potrzebował czegoś konkretniejszego (czytaj: wymysliłbyś dokładniejszą specyfikacje), to daj znać.

6

U mnie to sie niestety nawet nie stara odpalic :(
A co do specyfikacji, to wlasciwie tylko to mi jest potrzebne :), dobrze by bylo miec mozliwosc wczytania plikow przy pomocy jakiegos fileselectora.
Ale na razie chce sprawdzic czy wogole warto isc w te strone - czy to bedzie widoczne prawidlowo (a nikomu nie chcialo sie tej prostej metody zaimplementowac), czy tez nie da sie i juz (jakos w to nie wierze).

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

7

a co wypisuje?
zainstaluj .NET 2.0
a po nim DirectX i się odpali
w odwrotnej kolejności nie, bo pierw DX musi wiedzieć, że jest .NET
Jak poszło na P2 400 + TNT2, to u Ciebie tez pójdzie.

8 Ostatnio edytowany przez Pecus (2006-11-21 00:17:54)

Pokazywa ze ma problem i przeprasza :) ("test2 has encountered a problem and needs to close. We sorry for the inconvenience")
Robilem u siebie standardowe update I prawdopodobnie najpierw mialem DirectX9 a potem .NET 2.0. Myslisz ze wystarczy teraz reinstalacja Directa ?

A tak z ciekawosci zrobilem to na emulcu i ..... dziala!!! Po ustawieniu monitora na 60Hz na grzybie, odpaleniu NTSC w emulcu i wlaczeniu w opcjach emulatora synchronizacji z ekranem PC.
Wyrabia mi sie nawet na pelnym ekranie w trybie przepisywania pamieci i wyswietlajac interlacowego RIPa :)


(dopisalem sobie)

No to sciaglem nowego Directa (oczywiscie nie chcial sie instalowac, bo juz byl, ale jakos go przekonalem) i zadzialal Twoj program....
Jednak nijak nie synchronizuje sie z ramka, albo sie po prostu nie wyrabia (na to wyglada, ze po prostu przepisuje te dane do okienka i nie robi tego zbyt szybko).

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

9 Ostatnio edytowany przez Tdc (2006-11-21 01:41:20)

Ja mogę Tobie coś takiego napisać :)
Będzie działać bez .NET i w starych DX.
Jak nie będzie działać na Twoim starym kompie wystarczająco szybko to wykorzystam sprzętowe procedury karty i będzie działać :)

Chcesz ?
Tylko pisać fileselectora to mi się nie chce (choć chyba są jakieś gotowe).
A można też zrobić ustawianie częstotliwości HZ ale - znów nie będę robił wspaniałych klikadeł - wybacz ;) (z resztą ta opcja może nie działać na strym pececie...)

Wyślij mi swój e-mail.

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

10 Ostatnio edytowany przez Pecus (2006-11-21 01:47:09)

Chodzi mi tylko o to, zeby zona mogla sobie w bardziej komfortowych warunkach przegladac swoje zdjecia 3D.
Tak wiec potrzebuje cos co bedzie mrugalo na zmiane w rytm VBL dwoma obrazkami.
Nie wiem czy jest w prosty sposob mozliwe wczytanie szerokiego jpega (takiego zawierajacego dwa obrazki obok siebie), bo tak wlasnie wygladaja pliki .JPS w ktorych po przygotowaniu zachowuje sie takie fotki. Najfajniej byloby jakby od razu takie wciagalo.

Ustawiania Hz nie trzeba, ale taki fileselector by sie przydal (lub mozliwosc podania jako parametru takiego pliku).

Tak jak pisalem wszystkie programy wymagaja ode mnie do wyswietlania jakichs dziwnych rzeczy (sterowniki nVidii, karty 256MB, albo OpenGL ze specjalnymi sterownikami), w przeciwnym razie robia tylko interlace (nie dziala na monitorze LCD i projektorze), albo obraz dla okularow niebiesko/czerwonych (nie da sie odwzorowac ladnie kolorow a i wzrok blyskawicznie sie meczy.

A jak to bedzie dzialalo, to chcialbym to wyslac autorowi najlepszego programu do skladania zdjec 3D (oczywiscie darmowego), bo jego program obsluguje wszystkie inne tryby, a do tego sposobu tez chce sterownikow nieistniejacych dla kart ATI :(

A mail.... pecus(att}poczta.fm - dzieki.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

11

ok, dam znać niebawem:)

Co do wysyłania tego programu - to możesz go słać choćby do samego Jacka Tramiela :D
Oczywiście z pozdrowieniami ode mnie ! :) :) :)


Wstyd mi... teraz jestem "grzybiasty" ... :(
:D

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

12 Ostatnio edytowany przez laoo/ng (2006-11-21 10:11:42)

Mój programik jest w DX9 (jest jakiś powód, żeby pisać na starszego DXa? :)) i napisałem go w .NET, bo pisze się w nim szybciej, a czasu za dużo na niego nie miałem. Ma źródełka. Przepisanie go na model COM w C++ nie wymaga specjalnie wysiłku. Wczytywanie plików JPS jest banalne: wystarczy zamiast wczytywać dwa jotpegi wczytać jeden i przekopiować jego połówki do dwóch surface'ów (patrz źródełka). A dlaczego się haczy i nie synchronizuje? Bo jest w okienku i zawartość okienka MUSI być kopiowana, a nie flipowana. Przerabiając go na full-screen rozwiąże problem.
Poza tym, jak napisałem to tylko przykład jak można to zrobić bez karty z 256MB MB RAMu i specjalnych sterowników do OpenGLa i wymaga po prostu dopracowania.

PS: jakby ktoś zerknął do źródełek, to stwierdzi, że stosuję poczwórne buforowanie. Nie mam pojęcia dlaczego, ale z jednym backbufferem mi nie działało a z trzema owszem i już nie dociekałem dlaczego :)

PS2: DX wykorzystuje już sprzętowe procedury karty, więc nie ma co się specjalnie gimnastykować (SwapEffect może być Flip, albo Copy, a jak da się Discard, to w okienku DX sam wybierze Copy, a na full-screenie Flip), chyba, że napiszesz to w VESA ;)

13

A jak tworzyles te fotografie 3d ?

Tak pytam z ciekawosci

14

Pecus mam dokladnie takie cos na Atari.
Uzylem okularow ASUS 3D i prostego wzmacjaniacza.
Pisalem jakis czas temu w tym watku http://www.atariarea.krap.pl/forum/view … hp?id=4362

Do dzis niestety nie znalazlem czasu zeby to opisac ladnie na stronie :/ ale sie zepne.
Program pod Atari jest smiesznie prosty i dziala dobrze. Moge podeslac.

Obrazki przykladowe sciagnalem z netu (osobno prawy i lewy) i przekonwertowalem na format Atari.  Mam kilkanascie gotowych takich par. (Zroda tez).
Probowalem robic samemu przesuwajac aparat wg w wskazowek z netu ale g... wyszlo. A moze zniechecilem sie za szybko.

15

Do robienia takich zdjec najlepszy jest aparat z funkcja "panorama", czyli robienia ciagu fotek i sklejania ich w panorame. Maja to Olympusy np.
Tak naprawde aparat robi niezalezne zdjecia, a laczy je soft w komputrze, jednak niewatpliwa zaleta jest to, ze robione sa one identycznymi parametrami ustawianymi przy robieniu pierwszego zdjecia (a ma to niebagatelne znaczenie przy nakladajacych sie fotkach). Niektore aparaty maja tez funkcje zapamietania ustawiem, no i oczywiscie mozna zastosowac lustrzanke.
Przy okazji w czasie robienia panoramy mamy na ekranie pomocnicze znaczniki, ktore przydaja sie przy kadrowaniu.
Potem pozostaje skadrowac ujecie i zrobic pierwsze zdjecie panoramy (jak sie ma znaczniki warto zapamietac dokladnie punkty na ktore wskazuja), potem pol kroku w bok, ustawiamy znaczniki dokladnie na te same punkty (w zasadzie patrzymy przez aparat w dokladnie to samo miejsce) i druga fotka w trybie panoramy. No i mozna opuscic ten tryb.
A potem potrzebny jest swietny program StereoPhoto Maker najlepiej z pluginem znajdujacym punkty wspolne na obu fotografiach i znakomicie automatyzujacym prace.
Na koniec pozostaje korekcja pozioma fotografii (tak by ustalic co jest w centrum uwagi) i gotowe.

Efekty naprawde swietne, moge pare fotek np. wodospadu Kamienczyk (na dlugich czasach robione lustrzanka - naprawde ladne) podeslac chetnym.

Tyle tylko, ze narazie pozostaje mi ogladanie przez okulary z niebieskim i czerwonym szkielkiem :(

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

16 Ostatnio edytowany przez Monsoft (2006-11-21 16:17:36)

Czyli defakto robisz zdjecie tego samego punktu tyle ze z dwoch polozen, przez co uzyskujesz ofekt przesuniecia potrzebny przy generowaniu efektu 3D. A no koniec nakladasz oba zdjecia na siebie.

Ja bym poprosil kilka fotek na irekp@earthlink.net

17 Ostatnio edytowany przez Pecus (2006-11-21 23:16:05)

Fotki troche duze mi wyszly wiec umieslilem kilka TUTAJ zamiast wysylania.
Format JPS (czyli JPG z dwoma obrazami obok siebie) odczytuje wspomniany wyzej StereoPhoto Maker i umozliwia wybor metody ogladania, poza ta jedna (no chyba ze sie sterowniki ma!!! ;) ).

P.-S. Jedna z fotek zrobiona zostala za pomoca dwoch polaczonych aparatow ze wspolnym wyzwalaniem - inaczej ciezko sfotografowac czlowieka, czy cos ruchomego.


oooops.... blad.... to sa gotowe JPG do ogladania okularkami czerwono niebieskimi :) - nie tym guzikiem wygenerowalem... moze zaraz doloze JPSy a tamtym zmienie rozszerzenie na JPG.

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

18

Fajne te w kategorii 'bez ubran' :P

19 Ostatnio edytowany przez Tdc (2006-11-22 03:55:55)

laoo/ng napisał/a:

Mój programik jest w DX9 (jest jakiś powód, żeby pisać na starszego DXa? :))

No nie wiem czy jest, ale moje programy działają na wielu wersjiach DX :)
Sam mam jakąś starą wersję - nawet nie wiem jaki numer (8 albo 9).

laoo/ng napisał/a:

i napisałem go w .NET, bo pisze się w nim szybciej, a czasu za dużo na niego nie miałem.

Zwykle jestem bardzo sceptycznie nastawiony do produktów firmy Microsoft ? a firma sobie na taką opinię słono zasłużyła :)
Dlatego nawet nie chcę słyszeć o .NET (a szczególnie do DX). Rozumiem że to nawet działa i ma funkcjonalność identyczną z java.net, ale mam już np. wątpliwości czy ten program w .NET uruchomi się w dostępnej pamięci starego komputera Pecusia... bo pod tym względem .NET bije wszelkie rekordy...

laoo/ng napisał/a:

PS: jakby ktoś zerknął do źródełek, to stwierdzi, że stosuję poczwórne buforowanie. Nie mam pojęcia dlaczego, ale z jednym backbufferem mi nie działało a z trzema owszem i już nie dociekałem dlaczego :)

Pewnie ten .NET namieszał w systemie :> :D
To co jest banalne na małym Atari - na pececie być nie musi... :D :D
(Mój program jednak chodzi na doublebufferingu)

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

20

Tdc napisał/a:

ale mam już np. wątpliwości czy ten program w .NET uruchomi się w dostępnej pamięci starego komputera Pecusia... bo pod tym względem .NET bije wszelkie rekordy...

Nie , zebym sie obrazil ;), ale komputer mam akurat mocny :). tyle tylko ze nie potrzebuje wspomagania 3D (tak mi sie przynajmniej wydawalo), bo pracuje wylacznie nad plaska grafika i filmem. W zwiazku z tym przez dlugi czas mialem tylko karte na plycie glownej, a ostatnio po zmianie monitora kupilem jakas prosta z DVI-D z pasywnych chlodzeniem, bo nie znosze szumu kolejnych wiatrakow.

P.-S. Twoj program nie dziala tak jak powinien chyba. Duzo lepiej wygladal obraz z emulatora Atari - serio. Ale mialem tylko pare minut przed wyjsciem do firmy na sprawdzenie, jak wroce to sprawdze jeszcze na projektorze - bo moze to wina monitora LCD (choc watpie).

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

21 Ostatnio edytowany przez Tdc (2006-11-22 20:13:34)

Pecus: a to sorry :) Myslalem ze chcesz odpalic ten program na jakims starszym kompie - sam teraz staram sie odpalic mego starego kompa :)
O tak Atarowcy nie lubia szumow ! :)

Co sie zas tyczy programu: to lepiej dzialac juz nie bedzie. Obraz z emulatora robil lepsze wrazenie bo pewnie roznil sie czestotliwosca odsw. obrazu.
Program dziala jak powinien bo pokazuje dwa obrazki oraz synchronizuje sie z wyswietlaniem obrazu przez karte graficzna - wiec nic nie bedzie dzialalo lepiej. Jedyne co mozna zrobic to zmienic system operacyjny na lepszy (wtedy program bedzie dzialal stabilniej). Np. moge Tobie go skompilowac pod QNX - tam powinien dzialac lepiej, choc pod windows tez powinienes otrzymac to co chciales :)

Na moim LCD - prawie nie widac przelaczania obrazow - efekt wizualny jest taki jakby polaczyc oba obrazki :( Czyli obraz jest rozmyty.

ps. sorry za brak polskich znakow - ale wlasnie pracuje pod XGL (3D!!) z liveCD gdzie nie ma PL. Nawiasem mowiac - PELEN WYPAS !!! a co ciekawe dziala to z 3-4 razy szybciej niz moj podstawowy linux ! Rewelacja !:)

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

22

To jeszcze jedna prosba :)
Istenieje taka mozliwosc (sugerowaloby to prawidlowe dzialanie obrazu z emulatora), ze okulary mrugaja CO DRUGI ekran.
Jakbys mogl skompilowac to raz jeszcze tak by czekalo za kazdym razem dwa ekrany.
Ja mam szybki LCD, a na emulatorze Atari jak zamknalem jedno oko, to widzialem jedne obraz, i odwrotnie. Przy Twoim programie jest tak ze widze zawsze dwa nalozone, z tym ze jeden ostrzejszy (w zaleznosci ktorym okiem patrze).

Thanks from mountain :)

Bla bla bla bla, bla bla bla. Bla bla bla - bla - bla. Blabla bleee.

23 Ostatnio edytowany przez Tdc (2006-11-22 22:56:11)

Twoje rozwiazanie jest blisko celu i tak zrobie - zobaczymy czy zadziala.

Jednak wlasciwym rozwiazaniem jest wprowadzenie do programu ustawiania Hz. Niestety z tego co ja wiem ta funkcja czesto nie chce dzialac - pytanie czy w konsoli pojawia sie Tobie ilosc HZ ? Jesli pojawia to pewnie zadziala i funkcja wymuszajaca kontretna wartosc Hz.
Jednak najprosciej jest ustawic sobie ilosc Hz w ustawieniach Windows :)

> Twoim programie jest tak ze widze zawsze dwa nalozone, z tym ze jeden ostrzejszy (w zaleznosci ktorym okiem patrze).

Moze przydal by sie okulista ? :D Przynajmniej aby zobaczyl te okulary :D

---
Update:
sprawdziłem: u mnie program działa na 75 Hz więc jest to bardzo dużo szczególnie dla okularów 3D. Dodatkowo 75 kiepsko sie dzieli na pol :D

800XL  XC12  LDW 2000  Portfolio  1040 ST, STE  Falcon 030 (Deskpro)  Jaguar
... oraz inne grzyby i Amigi :-P

24

Oooooo, widzę masz sentyment do Allegro przekompilowanego pod DX! Stare, ale działa:)

25

A gdyby tak go gdzieś zamieścić, aby częściowo zainteresowani też mogli go sobie odpalić ? ;)
Bo jeśli dyskusja dotyczy rzeczy dostępnej tylko dwóm zainteresowanym, to równie dobrze mogą wymieniać się mailami...