Latest Entries »

Das Tutorial Stylish Surreal Portrait auf das ich im photoshop-weblog gestoßen bin, ist ein einfach gehaltenes tutorial das sich einem weiten bereich an techniken bedient.

Das einzige das noch beindruckender ist als das resultat, sind die vielen ressourcen die die athorin Carine Ma (ihr blog) zusammengetragen hat. Darunter auch welche die sogar fuer kommerzielle Nutzung geeignet sind und eine sehr hohe qualitaet aufweisen.

Ressourcen:

6 Colored Paper Textures

Eine zusammenstellung con 6 farbigen papier texturen bei denen der ersteller vor dem download noch darauf hinweist das sie in jeder art verwendet werden duerfen.

MouritsaDA-Stock

Die in ihrer Gallery eine nahezu unendlichscheinende auswal an Brushes, Textures, Patterns,usw… anbietet. Die auch Kommerziell genutzt werden duerfen wenn man sie vorher um die erlaubniss bittet.

Obsidian Dawn

auf obsidiandawn.com giebt es zum beispiel den Eyeleaches Brush. den ich geschaetzter weise schon 100 mal gebrauchen hatte koennen :D ich bin nur noch nie auf die idee gekommen nach brushes dafuer zu suchen ^^. Alle brushes auf der seit sind auch Kommerziell nutzbar nach einer gebuer von 3$ je brush set.

Nach einer langen suche ist es mir endlich gellungen einen richtig einfachen global keyboard hook fuer wpf zu finden :)

Was ist ein global key hook?

er ermöglicht dir keys abzufangen die gedrueckt werden waerend deine app nicht aktiv ist. so wie es bei keyloggern eingesetzt wird. Abgesehen von dieser eher kriminellen idee giebt es auch pracktische anwendungsmoeglichkeiten. z. B. kann man befehle in einer applikation ausfuehren ohne das diese den fokus von der aktuellen anwendung stielt. um ein pracktisches beispiel zu nenen: Man wechselt mit einem shortcut “Ctrl + N” zum naechsten musik titel in der playlist waerend man gerade zockt und nicht ins windows tappen will bzw kann.

und nun zum Fleisch!

oeffnet VisualStudio 2010. (sollte auch in aelteren funktionieren)

Erstellt oder offnet euer projekt indem ihr den key hook testen moechted. (ich habe einfach ein neues wpf projekt namens “global_key_hook” erstellt wobei es mit ner consolen anwengung genau so geht.)

Dann erstellt eine neue klassen datei (DEINPROJEKT[Rechtsklick] -> Neu -> Klasse ) Name vergeben (wie GlobalKeyHook.cs)

dan fuege diesen code in die klassen datei ein

using System;
using System.Diagnostics;
using System.Runtime.InteropServices;
using System.Runtime.CompilerServices;
using System.Windows.Input;

namespace GlobalKeyHook.Keyboard

{
    /// <summary>
    /// Listens keyboard globally.
    ///
    /// <remarks>Uses WH_KEYBOARD_LL.</remarks>
    /// </summary>
    public class KeyboardListener : IDisposable
    {
        /// <summary>
        /// Creates global keyboard listener.
        /// </summary>
        public KeyboardListener()
        {
            // We have to store the HookCallback, so that it is not garbage collected runtime
            hookedLowLevelKeyboardProc = (InterceptKeys.LowLevelKeyboardProc)LowLevelKeyboardProc;

            // Set the hook
            hookId = InterceptKeys.SetHook(hookedLowLevelKeyboardProc);

            // Assign the asynchronous callback event
            hookedKeyboardCallbackAsync = new KeyboardCallbackAsync(KeyboardListener_KeyboardCallbackAsync);
        }

        /// <summary>
        /// Destroys global keyboard listener.
        /// </summary>
        ~KeyboardListener()
        {
            Dispose();
        }

        /// <summary>
        /// Fired when any of the keys is pressed down.
        /// </summary>
        public event RawKeyEventHandler KeyDown;

        /// <summary>
        /// Fired when any of the keys is released.
        /// </summary>
        public event RawKeyEventHandler KeyUp;

        #region Inner workings
        /// <summary>
        /// Hook ID
        /// </summary>
        private IntPtr hookId = IntPtr.Zero;

        /// <summary>
        /// Asynchronous callback hook.
        /// </summary>
        /// <param name="nCode"></param>
        /// <param name="wParam"></param>
        /// <param name="lParam"></param>
        private delegate void KeyboardCallbackAsync(InterceptKeys.KeyEvent keyEvent, int vkCode);

        /// <summary>
        /// Actual callback hook.
        ///
        /// <remarks>Calls asynchronously the asyncCallback.</remarks>
        /// </summary>
        /// <param name="nCode"></param>
        /// <param name="wParam"></param>
        /// <param name="lParam"></param>
        /// <returns></returns>
        [MethodImpl(MethodImplOptions.NoInlining)]
        private IntPtr LowLevelKeyboardProc(int nCode, UIntPtr wParam, IntPtr lParam)
        {
            if (nCode >= 0)
                if (wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_KEYDOWN ||
                    wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_KEYUP ||
                    wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_SYSKEYDOWN ||
                    wParam.ToUInt32() == (int)InterceptKeys.KeyEvent.WM_SYSKEYUP)
                    hookedKeyboardCallbackAsync.BeginInvoke((InterceptKeys.KeyEvent)wParam.ToUInt32(), Marshal.ReadInt32(lParam), null, null);

            return InterceptKeys.CallNextHookEx(hookId, nCode, wParam, lParam);
        }

        /// <summary>
        /// Event to be invoked asynchronously (BeginInvoke) each time key is pressed.
        /// </summary>
        private KeyboardCallbackAsync hookedKeyboardCallbackAsync;

        /// <summary>
        /// Contains the hooked callback in runtime.
        /// </summary>
        private InterceptKeys.LowLevelKeyboardProc hookedLowLevelKeyboardProc;

        /// <summary>
        /// HookCallbackAsync procedure that calls accordingly the KeyDown or KeyUp events.
        /// </summary>
        /// <param name="keyEvent">Keyboard event</param>
        /// <param name="vkCode">VKCode</param>
        void KeyboardListener_KeyboardCallbackAsync(InterceptKeys.KeyEvent keyEvent, int vkCode)
        {
            switch (keyEvent)
            {
                // KeyDown events
                case InterceptKeys.KeyEvent.WM_KEYDOWN:
                    if (KeyDown != null)
                        KeyDown(this, new RawKeyEventArgs(vkCode, false));
                    break;
                case InterceptKeys.KeyEvent.WM_SYSKEYDOWN:
                    if (KeyDown != null)
                        KeyDown(this, new RawKeyEventArgs(vkCode, true));
                    break;

                // KeyUp events
                case InterceptKeys.KeyEvent.WM_KEYUP:
                    if (KeyUp != null)
                        KeyUp(this, new RawKeyEventArgs(vkCode, false));
                    break;
                case InterceptKeys.KeyEvent.WM_SYSKEYUP:
                    if (KeyUp != null)
                        KeyUp(this, new RawKeyEventArgs(vkCode, true));
                    break;

                default:
                    break;
            }
        }

        #endregion

        #region IDisposable Members

        /// <summary>
        /// Disposes the hook.
        /// <remarks>This call is required as it calls the UnhookWindowsHookEx.</remarks>
        /// </summary>
        public void Dispose()
        {
            InterceptKeys.UnhookWindowsHookEx(hookId);
        }

        #endregion
    }
    /// <summary>
    /// Raw KeyEvent arguments.
    /// </summary>
    public class RawKeyEventArgs : EventArgs
    {
        /// <summary>
        /// VKCode of the key.
        /// </summary>
        public int VKCode;

        /// <summary>
        /// WPF Key of the key.
        /// </summary>
        public Key Key;

        /// <summary>
        /// Is the hitted key system key.
        /// </summary>
        public bool IsSysKey;

        /// <summary>
        /// Create raw keyevent arguments.
        /// </summary>
        /// <param name="VKCode"></param>
        /// <param name="isSysKey"></param>
        public RawKeyEventArgs(int VKCode, bool isSysKey)
        {
            this.VKCode = VKCode;
            this.IsSysKey = isSysKey;
            this.Key = System.Windows.Input.KeyInterop.KeyFromVirtualKey(VKCode);
        }
    }

    /// <summary>
    /// Raw keyevent handler.
    /// </summary>
    /// <param name="sender">sender</param>
    /// <param name="args">raw keyevent arguments</param>
    public delegate void RawKeyEventHandler(object sender, RawKeyEventArgs args);

    #region WINAPI Helper class
    /// <summary>
    /// Winapi Key interception helper class.
    /// </summary>
    internal static class InterceptKeys
    {
        public delegate IntPtr LowLevelKeyboardProc(int nCode, UIntPtr wParam, IntPtr lParam);
        public static int WH_KEYBOARD_LL = 13;

        public enum KeyEvent : int
        {
            WM_KEYDOWN = 256,
            WM_KEYUP = 257,
            WM_SYSKEYUP = 261,
            WM_SYSKEYDOWN = 260
        }

        public static IntPtr SetHook(LowLevelKeyboardProc proc)
        {
            using (Process curProcess = Process.GetCurrentProcess())
            using (ProcessModule curModule = curProcess.MainModule)
            {
                return SetWindowsHookEx(WH_KEYBOARD_LL, proc,
                    GetModuleHandle(curModule.ModuleName), 0);
            }
        }

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern IntPtr SetWindowsHookEx(int idHook, LowLevelKeyboardProc lpfn, IntPtr hMod, uint dwThreadId);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        [return: MarshalAs(UnmanagedType.Bool)]
        public static extern bool UnhookWindowsHookEx(IntPtr hhk);

        [DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern IntPtr CallNextHookEx(IntPtr hhk, int nCode, UIntPtr wParam, IntPtr lParam);

        [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
        public static extern IntPtr GetModuleHandle(string lpModuleName);
    }
    #endregion
}

um den hook nun zu verwenden muss in der App.xaml noch zwei events hinzugefuegt werden:

Startup=”Application_Startup”
Exit=”Application_Exit”

<Application x:Class="global_key_hook.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml"
             Startup="Application_Startup"
             Exit="Application_Exit"
             >
    <Application.Resources>

    </Application.Resources>
</Application>

und in die App.xaml.cs sollte ungefaer so aussehen:

using System.Data;
using System.Linq;
using System.Windows;
using GlobalKeyHook.Keyboard;

namespace global_key_hook
{
    /// <summary>
    /// Interaction logic for App.xaml
    /// </summary>
    public partial class App : Application
    {

        KeyboardListener KListener = new KeyboardListener();

        private void Application_Startup(object sender, StartupEventArgs e)
        {
            KListener.KeyDown += new RawKeyEventHandler(KListener_KeyDown);
        }

        void KListener_KeyDown(object sender, RawKeyEventArgs args)
        {
            MessageBox.Show(args.Key.ToString());
        }

        private void Application_Exit(object sender, ExitEventArgs e)
        {
            KListener.Dispose();
        }
    }

}

nun kann man mit F5 das debugging starten und mann wird festellen das jeder gedrueckte key in einer MessageBox angezeigt wird und Fertig. so einfach kann es sein ^^

ein wenig tricky wird es noch wenn man versucht die keys an z.B. ein fenster zu senden. Da der KeyEvent in einem thread laeuft. muss man als erst einen Dispatcher aufrufen. in der Funktion KListener_KeyDown schlagen die key events auf. Ich habe in meinem MainWindow eine textbox hinzugefuegt in die ich die keys schreibe mit:

this.Dispatcher.BeginInvoke((System.Threading.ThreadStart)delegate
            {
                ((MainWindow)this.MainWindow).textBox1.Text += args.Key.ToString() + @"
";
            });

so das sollte erklaeren wie das ganze funktioniert. falls ich mich irgendwo vertahn habe oder ihr noch irgendwelche anregungen habt bitte Hinterlast mir ein kommentar. auser es geht um rechtschreibung in diesem fall ist jeder versuch zwecklos :D

Ach ja ist nich so als waer das ganze auf meinem mist gewachse. Hier der link zum orginal(english)

Es geht weiter.

hab schon lang nix mehr geposted. doch jetzt gehts wieder los.

Aussichten:

eine kleine zusammenstellung von dingen die bald hier zu finden sein werden.

Webdevelopment:

Was sollte man anderes behandeln als HTML5?

- Tetronline (web abklatsch von Tetron in canvas)

- CanvasLineChart (da muss ich nur noch die labels einfuegen ^^)

- Codname: NewWays (das ganze befindet sich noch sehr am anfang der entwicklung es geht schon einiges aber es ist noch ein weiter weg. ins detail geh ich spaeter. sonst klaut mir noch jeder meine idee :D )

- JS1K

Development:

- Qconsole

Anime:

- Dears

- Zoku Sayonara Zetsubou

- zen Zoku Sayonara Zetsubou

- Ghost in the Shell

Photoshop:

- tja da faellt mir auch noch was ein :D

bis die tage.

Lokalisten SchnitzelScript

Update 27.08.2010: Da immer noch einige leute mit den suchwoertern “lokalisten script” auf meine seite rauschen wollte ich diese personen  mal fragen was fuer ein script sie denn suchen. bitte hinterlaest mir ein kommentar mit dem script das ihr wollt. vieleicht lasst sich was machen.

Update 28.06.2010: Ich wolte nur sagen das ich es cool finde das mein acc anscheinend von den lokis vom schnitzel game gebannd wurde ^^. Ich hatte schon schlimmeres befuerchtet. Warscheinlich darf ich zu der naechsten lokalistenparty nicht mehr rein. Also ich finde keine schnitzel mehr und alle meine bisher gefundenen wurden geloescht.

Update:11.06.2010: Wie es scheind haben die lokis nun entlich draufgehauen. es ist nun wohl um einiges schwieriger geworden einen bot zu verwenden und damit hat sich das mit dem script erledigt. ich wede mir die neuen aenderungen nochmal ansehen glaub aber nicht das es eine neue version geben wird das alte hab ich auch rausgenommen.

Update:08.06.2010: so die neue version des scripts ist on. jetzt werden zufaellige seiten aufgerufen. Na endlich werden sich einige denken ^^. Es werden nun mit aller zufaelligkeit punkte aus dem menue aufgerufen.  eg gibt allerdings ein problem mit den seiten Groupe und events deswegen lass ich die einfach aus. Es kam mir nun auch so for als wuerde das script jetzt schneller einsammeln. Da nahezu auf jeder seite ein schnitzel gefunden wurde. natuerlich kann das auch daran liegen das ich es wie immer nicht lange laufen lies. Einfach nochmal auf den link unten klicken und neu Installieren.

wer unterschiedliche aufrufe haben will (obwohl die ladezeiten durch lags sowieso unterschiedlich sein sollten) kann sich einfach ein “Math.floor(Math.random() * 500)” oder so an den intervalltimer haengen(ganz hinten im string die 2000).

Nochmal gilt ich bin nicht mehr wirklich zum testen gekommen falls es probleme gibt melden.

Update:04.06.2010: Die lokalisten haben scheinbar schon reagiert und das verwenden von bots ausgehebelt. Wie sie das machen und ob es wirklich nicht mehr moeglich ist bots zu verwenden  werd ich heute nachmittag rausfinden ;)

Anmerkung: Diese Script darf nicht fuer das glueckspiel eingesetzt werden!

Ich mochte damit aufzeigen wie einfach es ist einen “bot” fuer das lokalisten gewinspiel zu schreiben und somit erklaeren wie es moeglich ist das Die Schnitzelkoennige innerhalb von 20h 6321 schnitzel einsammeln koennen.

Nach meinen berechnungen duerfte das Skript ziemlich auf das Selbe kommen.

Voraussetzungen:

als erstes muss der Firefox (download) installiert sein.

fuer den firefox muss das addon Greasemonkey (download) installiert sein.

und dann braeuchte man nur noch ein kleines javascript das nichtmehr zum download bereitsteht da es dank aenderungen der lokis nicht mehr geht.

Greasemonkey

JetBrains PHPStorm hat mich auf voller Linie ueberzeugt. Es hat einfach alles was man zum arbeiten mit Websites braucht.

Syntaxhighliting:

ok. Das hat wirklich jeder aber:

image Man kann wirklich alles bis ins kleinste detail selbst anpassen.

Autocompleate:

image Erkennt alle angelegten Variablen als auch eigene Klassen aus externen Files!

Weiter anzufueren sind Features wie

FTP upload(der automatisch alle geaenderten files hochlaedt)

Version Control integration (z.B auch Subversion das wir in der firma verwenden in der ich arbeite)

todo liste (wird anhand der todo eintraege im projekt erstellt)

php Debugging

code check

und sicher noch einige dinnge die ich nur noch nicht gefunden habe ^^

 

PHP Storm ist im moment noch in der testphase und noch kostenlos. Das wird sich jedoch aendern sobald das produkt serien reife erlangt hat. Wenn es dann auch 600 USD kostet wie sein zur java programierung optimierter bruder IntelliJ IDEA 9.0 wird PHPStorm sicher nicht mehr meine erste wahl sein.

Bis es soweit ist das ich vom preis geschockt werde freu ich mich ueber das beste tool das ich in diesem bereich je gefunden habe!!!!!!

Ich habe nun seit gestern Windows 7 Ultimate 64bit auf meinem rechner und bin ueberascht darueber das es doch so gut funktioniert. Wenn ich an die 64bit variante von Windows XP zurueckdenke laeuft mir immer noch ein Schauer den Ruecken runter.

Ich konnte es nuch nicht ausfuerlich testen doch die dinge die ich offt verwende gehen schon mal.

Firefox geht (ok das war klar ^^) .

Steam ohne neuinstallation aus meinen 32bit System uebernommen nach einer kleinen Reperatur (macht Steam von selbst) geht.

foobar2000 geht.

Und selbst das schon etwas betagtere Game “Herscher des Olymp Zeus” das ich im moment zocke geht.

Weitere tests stehen noch aus aber bis jetzt macht Windows 7 Ultimate 64 bit einen solieden eindruck.

Zombie Powder

Vor kurzem bin ich ausversehen ueber ZombiePowder gestollpert nachdem ich mich ein wenig ueber Bleach informieren wollte. Beide Mangas stammen aus der Feder von Tite Kubo.

Leider wurde ZombiePowder nach dem start von Bleach nicht weitergezeichnet.

Bestehend aus 4 Volumes mit je ~135 Seiten bieted es jedoch einigen lesestoff. Das ende kann man sich dan selber ausdenken :)

FAZIT:

Coole Geschichte, abgefahrene Charaktere und jede menge action mit einem schuss Humor.

85%

Ich bin nun endlich fertig ^^. Es hat gerade mal 45 Tage gedauert mir alles von DC reinzuziehen.

Die absolut gut ausgetüftelten Fälle und die Lebendigkeit der Charaktere machen Detektiv Conan zu einem der besten never ending story Animes die es zur zeit gibt. Wenn es ueberhaupt Fillerfolgen giebt in DC ( kann ich nicht sagen da ich nicht alle mangas gelesen hab ) dann kennt man sie von den “normalen” Folgen nicht weg.

Das bedeutet zwar leider auch das die hauptsorry in so gut wie in keiner folge voranschreitet und auch die Änderungen immer nur minimal ausfallen. Dafür ist die Hauptstorry gut durchdacht und reist einen mit. Auch die persönlichkeit der Storycharaktere wird sehr sorgfelltig dargestellt und wird auch immer weiter vertieft.

Dinge die wie ich finde noch fehlen bzw mich persoenlich generft haben:

  • Ran die freundin des hauptcharakters is so die arme sau. Sie weis von nicht und wird immer nur angelogen. Sie warted die ganze zeit auf Shinichi (aka conan) und immer sobalt er mal wieder kurz normal ist hat er irgendeinen fall zu loesen und gib sich so gut wie garnich mit ihr ab.
  • Kaitou Kid der Dieb der von Shinichi gejagt wird als obs kein morgen mehr geben wuerd ist eigentlich einer der guten und hat Shinichi auch schon einige mahle den arsch geretet. Dem sonst so scharfsinnigen Shinichi fällt allerdings nicht auf das Kid auch gegen eine organisation kämpft die weltweit edelsteine klaut um den zu finden der einem ewiges leben verleid ( ob das nicht auch die Schwarze Organisation ist ^^). Kid ist ein cooler Charakter und eine noch tiefere storry einbindung waer wuenschenswert. Zumal es auch nur fair waere den Kid wurde sein Manga aufgrund von Detektiv Conan gestrichen -.-
  • Die Leistung des Oberschüler Detektivs schwankt gewaltig zwischen den folgen. Teils erkennt er die offensichtlichten dinge nicht. Dann wiederum bombadiert er einen mir zusammenhaengen und wissen die sich ein mensch unmöglich alle aneignen kann.
  • Auch die möglichkeit die faelle selbst zu loesen ist nicht immer gegeben. Meist werden Wichtige beweise nicht gezeigt sondern nur conans Gesicht wie ihm ein licht augeht dan sagt er 90% der faelle noch “Jetzt weis ich wies der Täter gemacht hat!”

FAZIT:

Es ist selten das man sich einen Anime stundenlang ansehen kann ohne das man irgendwann davon zumindest ein wenig generft ist. Die oben genanten punkte sind zwar einerseitz dinge die mich nerven anderer seits hoff ich das sich die geschichte irgend wan in diese richtung entwickelt und allein deswegen lohnt es sich Detektiv Conan weiter zu verfolgen. DC ist eigentlich fuer jede altersklasse geeignet (obwohl die toten teils ziemlich brutal dargestellt werden.)

All das macht DC zu einen der besten Animes die ich mir jeh angesehen habe. Darum:

95%

Angefangen mit Photoshop zu arbeiten hab ich mit dem Begin meiner Ausbildung im Jahr 2003. Anfangs waren die Ergebnisse eher madig doch die Resultate der Tutotials die man im Internet fand unter anderem auch auf dem photoshop-weblog :) bewegten mich dazu nach der regulaeren Arbeitszeit an meinem Arbeitsplatz zu bleiben um mich an einigen Photoshop-Tutorials zu versuchen.

Mit der Zeit wurde ich in der Firma in der ich arbeite zum Photoshop Guru. Wenn mich einer meiner Kollegen fragt “Kann man das so und so im Photoshop machen” ist  die Antwort darauf immer “Im Photoshop kann man alles machen!” und es entspricht der Wirklichkeit. In meinen 6 Jahren in denen ich mit diesem Tool Arbeitete ist mir noch nichts untergekommen das man nicht loesen koennte. Sei es das erstellen von Icons, Texturen, Zeichnungen oder das ueberarbeiten von Bildern man ist mit einer Software fuer alles gewappnet.

Es geht sogar so weit das ich mittlerweile angefangen habe in Photoshop zu denken. Wenn ich Grafiken oder ueberarbeitete Bilder sehe fang ich sofort damit an mir die Arbeitschritte zu ueberlegen in denen sie erstellt werden koennten.

Aus meiner Welt ist Photoshop nicht mehr wegzudenken und es gibt noch so viele Dinge die ich mit ihm noch machen will.

Deshalb liebe ich Photoshop!

Photoshop Gewinnspiel

3D Hier und Heute! Part 3

Ein sieg der in die geschichte eingeht ^^. Es ist mir gelungen ein paar anaglyph brillen aufzutreiben. Die Blue-Ray version von “Final Destination 4″ enthaelt vier der Rot/Cyan Brillen die mir nun entlich ermoeglichten “3D Vision Discovery” zu testen.

Anfangs war es schwaer sich daran zu gewoehnen das ein auge ausschlieslich ROT sieht. UEbelkeit und Kopfschmaerzen waren die folge. Um das resultat zu verbessern war es notwendig einige feinjustierungen an den farben und helligkeit meines Beamers vorzunehmen.

Einerseits(PRO)

Fuer alle die noch eine Rot/Cyan Brille zuhause und eine neuere Graka in ihren Rechner haben enstehen keine kosten um es zu testen.

Wenn man nicht vorhaelt ueber eine laengere zeit zu zocken liefert das system ein gutes 3D bild.

Andererseits(CONTRA)

bei laengeren spielzeiten ist die warscheinlichkeit das einem schlecht wird und man kopfschmaerzen bekommt extrem hoch.

zum linken auge kommt weniger licht durch als zum rechten. Das kann nicht gesund sein und bringt noch einige probleme mit sich.

- kleinere details sowie text liest oder sieht man nur mit einem auge.

- in dunklen bereichen ist man somit auf einem auge komplet blind.

- Rot toene machen einen Bloed im Kopf. ein auge schwarz das andere rot. dadurch ensteht ein flackern.

Fadenkreuze/Visiere bei egoshotern sind nicht besonders zuverlaessig. Es gibt zwar die moeglichkeit im Treiber LaserLight einzuschalten, dass eine Fadenkreuz im 3D raum richtig darstellt aber so wirklich treffen kann man auch damit nicht.

Farben sind nicht mehr ganz so Orginal.

Fazit:

Man kann nicht verleugnen das es spass macht mit so gut wie keinen kosten einen wenig 3D effekt ins wohnzimmer zu holen. Da es auch mit einem Beamer geht bleibt einem, wie in meinem fall, vorerst nur diese moeglichkeit uebrich.

Leider ist es normalen Menschen (definiere normal: also leute die nicht zum fruestuck 10Kg baustahl und 4L Kerosien verzeheren.) nicht moeglich dauerhaft damit zu zocken. (Meine obergrenze ist bis jetzt 4Stunden. Danach muss ich eine stunde pause einlegen.)Wer laengere zeit in der 3D welt verbringen will sollte sich eine shutterbrille mit passenden monitor zulegen.

Es ist auf alle faelle ist es einen versuch wert.

Folgen

Erhalte jeden neuen Beitrag in deinen Posteingang.