Suche C und Qt Entwickler

Suche und Angebote - Sowohl für kommerzielle als auch freie Projekte
Antworten
DigiDrag
Beiträge: 2
Registriert: 4. Juli 2009 14:39

Suche C und Qt Entwickler

Beitrag von DigiDrag »

Hallo

Ich suche mithilfe beim Programmieren. Es sind komplett verschiedene Tasks, von File-Kompressionen über logfile-writer class bis hin zu QT UI-Widgets.
Bezahlung via vorher ausgehandeltem Festpreis auf Rechnung.
ALs Vertrag hier ein Standard-Programmier-Vertrag, wo ich aber Strafen rausgestrichen habe und dass ihr auch für andere arbeiten dürft:
http://www.DigiDragon.de/temp/0_freelancer_empty.doc


Coding:
Die Programme müssen unter Windows und Linux laufen. (Eigentlich kein Unterschied, wenn es unter Win läuft, dann läuft es auch unter Linux soweit ich die meisten Tasks sehe)
Fehler-Handling: Immer davon ausgehen, dass z.b. das öffnen/schreiben von Dateien fehlschlagen kann.
Keine C++-Exceptions.
3rd party libs wenn möglich nicht benutzen, aber wenn dann LGPL (kommerziell einsetzbar):
boost-lib ist kein Problem, andere vorher anfragen.
Grafische Oberflächen werden mit QT 4.8 erstellt. (Das QT SDK 4.8.5 gibt es als download)
Es muss mit VS 2008 und GCC 4.2 funktionieren. (Es sollte kein Problem sein z.b. VS2010 zu benutzen, da dort eigentlich nichts neues dazu gekommen ist)
Kein .Net.
Wenn geht in englischen Namen/Beschreibungen.


T1)
Aurora Fluid - Dateiformat dekodieren:
C, bitwise data handling, tree generation
Fluid caches sind immer ein 3D-Array of float/int. e.g. float Cache[50x50x50]
Habe ein eigenes Format für Allocierung und Handling dieser float Arrays.
Phoenix Aura: Es gibt eine kurze Beschreibung vom Hersteller über das. Sie benutzen einen Huffman-Encoder der mit groben Source-Snipplets beschrieben ist.
Weitere Infos: http://www.DigiDragon.de/temp/T1__Aura_Spec.txt


T2)
Volume Display in Softimage/Maya
C++, OpenGL shader
3-dimensionale Arrays aus float mydata[x][y][z] sollen in der 3D-Software Autodesk Softimage und im weiteren Schritt in Autodesk Maya als Volumen dargestellt werden.
Es gibt ein Array für die Dichte des Volumens. Dann 3 float Arrays für die Farbe (R+G+B).
Das Licht kann in der Farbe schon gebaked sein oder muss interaktiv berechnet werden.
Hier ist ein Beispiel:
http://www.youtube.com/watch?v=ptAREAc-wRc#t=280


T3)
Modo Dateiformat reader/writer, Pfad austauschen wenn gefunden.
C++
Modo benutzt das IFF Format. Ich habe mehrere Beispiele für Szenen und auch schon einen Reader als Grundlage.
.IFF besteht aus Blöcken. Jeder mit einer Längeninfo und Beschreibung am Anfang, dann die Daten vom Block. Ein Block kann aus mehreren Unterblöcken aus dem selben Blockformat bestehen. (maximale 2 od. 3 level tiefe)
Blöcke müssen einzeln durchsucht werden, wenn ein Dateipfad X gefunden, dann diesen austauschen und im Header vom Block die Größe anpassen, Block austauschen.
Es gibt schon eine class, die die Datei in einen Speicherbuffer läd. Mit Search, insert, replace funktionen.
http://en.wikipedia.org/wiki/Interchange_File_Format



T4)
3D from 2D image synthesizer
C++
Es werden 3D-Volumen aus repetierenden Mustern aus 2D-Bildern erstellt.
Es geht nur um den Algorithmus an sich, nicht das UI/Programm drum herum.
Bild-lade-Funktionen gibt es schon, sind aber closed source. Also entweder einen vorhandenen Loader zum testen nehmen oder ich kann die OpenExr-libs vorbereiten.
Ein 2D-Bild kann aus vielen Kanälen bestehen: RGBA+Z+was auch immer. 8bit/Pixel ist ein muss, float (oder half-float falls schneller) wünschenswert.
Die PCA-class wurde schon programmiert.
Anfrage an Johannes Kopf wegen source snipplets war generell "ja", aber dann doch keine Zeit es rauszusuchen.
Es sollte multi-threading benutzen (am besten boost lib? OpenMP optional)
http://johanneskopf.de/publications/solid/



T5)
Config File editor
C++, QT 4.8
Es soll ein Editor für text-configfiles von settings geschrieben werden Man kann mehrere configs stacken, d.h. alles die Settings aus der nächsten Datei überschreiben was zuvor eingelesen wurde. Settings können auskommentiert werden mit #. Es gibt verschiedene Arten von Settings, die aber alle ein ähnliches Format haben.
Die Format-class muss ich noch neu schreiben.
Das Format ist z.b.
:Meins RenderPreview= 0~1
:Deins Meinsetting= 0~1~blabla
:Unser moreSetting= 1~2345
Der Editor bekommt als Input mehrere Dateinamen mit Angabe ob man sie ändern darf oder nicht.
Funktionen de Editors:
- Rechte Seite: Grafischer Editor (keine Text wie oben). Settings werden in ihre Werte aufgelöst. Also Dropdown [meins/deins/unser]+ boolean checkbox+ number spinbox oder boolean checkbox+Text line+ number spin oder ...oder ...
- Linke Progrmmseite: Übersicht/Liste aller Dateien mit Settings, die geladen werden aus der Datei.
Entweder als Text wie in der config-Datei oder besser "übersetzt" (0/1 => true/false etc)
1. Datei A
a. RenderPreview= 0~1
b. Meinsetting= 0~1~blabls
2. Datei B
3. Datei C
a. RenderPreview= 0~1
b. Meinsetting= 0~1~blabls



T6)
Logfile-class
C++
Eine Klasse, die char-arrays (mit string-Längenangabe) erhält. Diese werden im Speicher gepuffert. Wenn der Puffer voll ist oder beim aufrufen einer Flush() funktion werden die Daten in eine Logdatei geschrieben.
Wenn das Logfile größer als X Byte wird, dann wird vorher die erste Hälfte des Logfiles gelöscht.
Wenn die Datei nicht geschrieben werden kann (Netzlaufwerk putt ), dann wird noch eine logline "Error writing logfile" hinzugefügt (nur einmal pro nicht verfügbar). Wenn der Buffer überlaufen würde, dann gibt es einen alternativen Pfad (lokal). Die Klasse merkt sich das und Attached das lokale logfile wenn das netz-logfile wieder schreibbar ist.



T8)
Zeitbalken Widget
C++, Qt 4,8
Ein Zeitleisten-Widget wie in http://www.DigiDragon.de/temp/T8_view.jpg

Es besteht aus max 3 Teilen, es müssen aber nicht alle dargestellt werden, wenn nicht benötigt:
1. Ein Balkendiagramm (Die Balken sehen nicht wie in T8_view.jpg aus, sondern wie in http://www.DigiDragon.de/temp/T8_balken.jpg)
2. ein Graph
3. noch ein Graph
Zwischen den Teilen ist ein splitter, den man bewegen kann.

Features:
• Export complete graph with labels as png/jpeg (Qt function)
Globale Parameter:
• Anfang + End Datum/Zeit kompletter Graph
• Horizontales Zoom-Level (wieviele minuten pro horizontalem pixel)
• Textgrößen + Farbe
Globale Parameter oberer Teil ZeitBalken:
• Zeilenhöhe HauptBalken, Zeilenhöhe Unterbalken
• Zeilenabstand Haupt+Unterbalken, Zeilentrennlinie on/off/farbe
• Farbe/Deckkraft vertikale Wochen/Monat/Wochenende
Globale Parameter unterer Teil Graph:
• Farbe/Deckkraft vertikale Wochen/Monat/Wochenende
• Farbe/Deckkraft Horizontale Linien
Haupt Balken Class parameter:
• Beschriftung nicht anzeigen wenn (unter-)balkenbreite weniger als x pixel
• Balkenecke leicht gerundet (Eckpixel weg)
• Titel
• Signal: OnSelect(int unterBalkenNr )
• Rahmen On/Off/farbe
• FüllFarbe
• Beschriftung links/mitte/rechts
• Startzeit + Länge
Unter-Balken Class parameter:
• Beschriftung nicht anzeigen wenn (unter-)balkenbreite weniger als x pixel
• Balkenecke leicht gerundet (Eckpixel weg)
• Titel
• Rahmen On/Off/farbe
• FüllFarbe
• Beschriftung links/mitte/rechts
• Beschriftung modus A/B A: klein oben/mitte/unten. B: groß, mitte
• Startzeit + Länge
• Horizontale Linie (siehe t8_balken, blau) : on/off, farbe, höhenangabe float 0-1
• Balken Modus 1:
o Graph Linie an/aus/farbe (siehe t8_balken, rot)
o Graph filled an/aus/farbe (siehe t8_balken, gruen)
o Graph values: MAX_UBAR_STATS=10 werte mit je a) position float 0-1, b) höhe Linie, höhe fill
• Balken Modus 2:
o (nix)
Graph linien parameter:
• On/off checkbox
• Name
• FarbDeckkraft
• maxYWert as float or int32 or percent
• Modus A: einzelne Linie
o Farbe
o array { float-wert[]; DatumZeit }
• Modus B: gefüllt
o Farbe[5]
o array { float-werte[5]; DatumZeit } float-werte werde addiert, d.h. 0,1+0,2+0,15=höhe 0,45



T9)
Qt new selection model
C++, Qt 4.8
Wenn man in einer Tabelle in QT eine range selektiert, dann ist diese wie in jedem Programm quadratisch.
Es soll aber zeilenweise von rechts nach links und dann nächst Zeile usw selektiert werden.
Z.b. in der folgenden Tabelle wird Nr 2. selektiert, dann STRG-Nr 13.
Normales Ergebnis:
1 [2] [3] 4 5
6 [7] [8] 9 10
11 [12] [13] 14 15

Gewünschtes Ergebnis:
1 [2] [3] [4] [5]
6 [7] [8] [9] [10]
[11] [12] [13] 14 15





T10)
Open VDB reader
C++
OpenVdb ist ein opensource-Dateiformat.
Es enthält Zellen im 3-dimensionalen Raum. Die Zellen speichern verschiedene float-Werte (z.b. density, color, Temperature).
Das Format soll eingelesen werden und konvertiert in eine float-grid class.


Fragen gerne in diesem Forum-Thread.
Oder bei Interesse bitte Email an mail (at) BinaryAlchemy (dot) de.
Email Betreff sollte mit "Task development: ..." starten.
Bitte kurze Info über Erfahrung.
Für den Festpreis am besten Stundenzahl+Stundenzatz oder Vollpreis nennen.
Antworten