xmatakt / bakalarka

0 stars 0 forks source link

data na obdlzniku #4

Open xmatakt opened 8 years ago

xmatakt commented 8 years ago

Po vcerajsom boji s normalami som dnes vecer dajako zbuchal z casti fungujuce zobrazovanie dat na obdlzniku. Nakoniec som pouzil Vas sposob ratania normal, aj ked moj sposob produkoval to iste len samozrejme v skaredsej forme. Myslel som si, ze normaly zle pocitam, pretoze VS sa rozhodlo po zatial nezistenych upravach kodu, resp. dizajnu alebo neviem coho odstranovat z Form1.Designer.cs riadok: this.glControl1 = new OpenTK.GLControl(new OpenTK.Graphics.GraphicsMode(new OpenTK.Graphics.ColorFormat(32), 24, 0, 8)); a nahradzovat ho svojim oblubenym --> this.glControl1 = new OpenTK.GLControl();, co sposobovalo, ze vykreslovanie nebolo uplne dokonale a kym som na to prisiel ze sa to deje, zabil som vela casu nezmiselnymi upravami funkcneho kodu. Ale aj tak nie je vysledok uplne dokonaly,a zobrazuju sa cierne flaky, ale to sposobuje chybny shader pri pocitani spekularnej zlozky, pretoze pri vynulovani tejto zlozky, ked su nenulove iba ambientna a difuzna, vykresluje tak ako ma, aspon si myslim.

RobertSpir commented 8 years ago

ok, len podla mna by sa to nemuselo vetvit do dvoch verzii, ale mohlo by to byt v jednej verzii, kde by sa rozhodovalo podla typu suboru v openfiledialogu. Hoci su oba .dat, myslim ze by nemalo byt problem tam dat ako filter dva krat .dat, pricom jeden krat by to ocakavalo gulu, druhy krat plochu

xmatakt commented 8 years ago

Oka skusim to tak

xmatakt commented 8 years ago

Teraz to je vsetko v jednom, kontrola je iba taka, ze kontrolujem prve dve X-ove suradnice, ak sa rovnaju -> zamietam hypotezu ze sa jedna o sfericke data a naopak... Dorobil som par drobnosti, zajtra sa mi snad podari spravit este ciselny popis color scalu. Tento vikend by som chcel este dorobit nejake veci ohladne zobrazovania dat na sfere a obdlzniku: 1.) nieco ako mate Vy, ze si uzivatel moze vyklikat vlastnu farebnu skalu, snazil som sa ColorScale.cs kodit tak, aby to bolo mozne bez vacsich problemov, dufam ze sa mi to podarilo, aj ked sposob akym som to napisal mi nepride najidealnejsi, ale bolo to to prve co ma napadlo a myslel som ze by mohlo fungovat. 2.) Dalej chcem skusit spravit sferu tak isto ako obdlznikove data, t.j. tak, ze potrebne udaje na vykreslovanie nebudu v poliach Vector3[velkosti pocetTrojuholnikov*3 ] , ale iba Vector3[pocetVrcholov] a vykreslovanie bude spravene cez vymenovanie vrcholov. Pri ploche som to mal spociatku oboma sposobmi a druhy bol rychlejsi. 3.) Popripade co Vas napadne co by tam mohlo/malo byt...

.... a cez prazdniny sa skusim pohrat s Volume Renderingom a uvidim co to da.

RobertSpir commented 8 years ago

super, som zvedavy na ten volume rendering. Vyzera, ze k tomu existuje dost materialov, napriklad tu je to robene cez shadre https://github.com/toolchainX/Volume_Rendering_Using_GLSL

xmatakt commented 8 years ago

Spravil som bod dva, teraz zobrazim 13mil. data aj na mojom notebooku a prekreslovanie je rychlejsie ako pri 5mil. datach starym sposobom, takze som s tym celkom spokojny. Dalej som tam dal dajaky progress bar inspirovany Vasim aby uzivatel vedel co sa zhruba deje, aj ked progressBar sa mi zda celkom neohrabany, mozno som mal spravit moj prvotny zamer iba cez Label typu tolkoUzMam/celkovyPocet. Vytvoril som novu branchu, kde som nahral v podsate, resp. uplne to iste ako do Master, len Sfera je hodena do threadu, takze pri nacitavani je mozne hybat oknom. Bolo to zhruba take neprijemne ako som ocakaval, bol by som rad keby ste si to pozreli a povedali mi, ze to mam zle a existuje omnoho jednoduchsi sposob.

RobertSpir commented 8 years ago

je to dokonca rychlejsie ako ten moj kod (ale tam mam tie trojuholniky tym starym sposobom)

cez ten backgroundworker to vyzera celkom v pohode

Ja som to robil bez vlakien, len som v dostatocnych intervaloch pocas prace volal Application.DoEvents()

najdolezitejsie je, aby pocas prace uzivatel nemohol napriklad otvorit dalsi subor, lebo potom sa zacnu diat kadejake veci....takze je vhodne pred zaciatkom prace deaktivovat vsetky controls a na konci ich aktivovat