Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



Jak použít OpenGL bez platformních závislostí?

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: Jak použít OpenGL bez platformních závislostí?

Autor: judovana - no login:(

8:45:10 28.05.2009

proc ne. Co ma byt vystup? Ta 3d scena? Screenshot? Vysledek vypoctu? Proc ne....

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: andris11

15:19:51 27.05.2009

Zdravim, a co kdyby slo o renderovani na serveru bez okenniho interface za ucelem zpracovani vysledku pro webovou aplikaci? Slo by OpenGL pouzit?

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

16:16:45 26.04.2009

glReadPixels() funguje :-)
Sice s chybami (nektere ojedinele pixely neodpovidaji puvodnimu obrazu), ale pro zacatek to bude stacit.
S tou rychlosti je to v pohode, funkce umi prenest cely obraz najednou a ja navic potrebuji jednorazove vygenerovani sceny, nikoli honbu z FPS :-) Pokud je to tedy "neskutecne pomale", tak je to stejne i tak rychlejsi, nez sundam prst z mysi pri startu moji aplikace ;-)
Diky vsem za rady.

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Eosie

12:27:03 26.04.2009

Z extenzí soudím, že je to buď Intel grafika nebo Mesa DRI. Intel je na moderní OpenGL téměř nepoužitelný.

WGL_ARB_pbuffer vrací funkce wglGetExtensionsString a ten tam určitě je. Aby se ta extenze ale dala použít na rendering do textury, musí tam být ještě WGL_ARB_render_texture.

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: nou

19:05:06 25.04.2009

musim ta sklamat ale nepojde to. nie je tam ani len pbuffer. fakt by sa zisla lepsia karta. potom je tu uz len glReadPixels() a citat teda z back-buffer co bude ale neskutocne pomale.

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

18:53:14 25.04.2009

nou Napsal:
-------------------------------------------------------
> typ grafiky nie je az tak dolezity. dolezite je
> aby mala dane rozsirenie. teda ci ti
> glGetString(GL_EXTENSIONS); vrati retazec v ktorom
> obsiahnute GL_ARB_framebuffer_object

Tak ten tam zrovna neni:

GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_multitexture GL_ARB_point_parameters GL_ARB_shadow GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_dot3 GL_ARB_texture_env_crossbar GL_ARB_transpose_matrix GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_window_pos GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_compiled_vertex_array GL_EXT_cull_vertex GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_two_side GL_EXT_stencil_wrap GL_EXT_texture_compression_s3tc GL_EXT_texture_env_add GL_EXT_texture_env_combine GL_EXT_texture_lod_bias GL_EXT_texture_filter_anisotropic GL_EXT_texture3D GL_3DFX_texture_compression_FXT1 GL_IBM_texture_mirrored_repeat GL_NV_blend_square GL_NV_texgen_reflection GL_SGIS_generate_mipmap GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_WIN_swap_hint

Jak se to dela bez nej?

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: nou

9:58:45 25.04.2009

typ grafiky nie je az tak dolezity. dolezite je aby mala dane rozsirenie. teda ci ti glGetString(GL_EXTENSIONS); vrati retazec v ktorom obsiahnute GL_ARB_framebuffer_object
podrobnejsi popis tu http://www.opengl.org/registry/specs/ARB/framebuffer_object.txt

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

9:48:49 25.04.2009

Dekuji, uz to tisknu.

V typech graficke karty se nevyznam, mam nejakou onboard asi pet let starou, tak snad to bude fungovat.

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: frca

9:14:56 25.04.2009

Pokud bys nahodou zjistil, ze max. rozliseni podporovane kartou je nedostatecne, jde to obejit. Proste rozdelit obraz na nekolik mensich s patricnou upravou projekcni matice. To same lze udelat i tehdy, kdyz nestaci presnost depth bufferu.
frca

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: nou

8:44:36 25.04.2009

pohldaj si nieco o P-buffer aleo lepsie framebuffer object. len reba oberit ci karta podporuje dane rozsirenie. co by nemal byt problem kedze to je podporovane na kartach radeon 9600 a vyssie a geforce 6xxx a vyssie. (mozno aj 5xxx)

http://www.songho.ca/opengl/gl_fbo.html

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

23:33:52 24.04.2009

Jak lze tedy nejjednoduseji ziskat obsah vygenerovaneho obrazu (ve Windows, nejlepe z minimalizovaneho okna a to z okna vetsiho, nez je rozliseni obrazovky)?

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: frca

23:32:02 22.04.2009

Nikde sice neni napsane, ze OpenGL nutne potrebuje vytvorit okno, ale taky nikde neni napsane, ze si v aplikaci vystacis jenom s nim. To, ze ho lze provozovat po siti, je podobny vyrok, jako ze ho lze provozovat v okennim systemu. Nikde neni napsane, ze nic dalsiho nepotrebujes. Takze jedina moznost je pouzit knihovnu, ktera platformni zavislosti odstinuje, napr. GLUT nebo SDL. Tyto obe knihovny samozrejme vnitrne pouzivaji platformne zavisle veci, ale vtip spociva v tom, ze o tom temer nemusis vedet. Jak na beznem grafickem HW pouzivanem v dnesnich PC pouzivat OpenGL bez okenniho systemu nevim (ve Windows to snad ani do a vcetne verze 2.1 nejde, verzi 3.0 a vys jsem nezkousel; jestli neco takoveho jde HW akcelerovane na linuxu nevim).
frca

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

17:02:30 22.04.2009

judovana Napsal:
-------------------------------------------------------
> java+ (lwjgl nebo jogl)


Zapomnel jsem napsat, ze pracuji v C :-)

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: judovana

16:20:26 22.04.2009

java+ (lwjgl nebo jogl) ;)

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

15:19:39 22.04.2009

Podporovat to musí, když v dokumentacích píšou, že ho lze provozovat i prostřednictvím klient-server síťové komunikace, tedy bez oken (na straně serveru).
Potřebuji jen vědět, jak :-)

Citovat příspěvek

 

Re: Jak použít OpenGL bez platformních závislostí?

Autor: michalferko

15:04:42 22.04.2009

GLUT poskytuje tvorenie okien na viacerych platformach, ale musel by si na kazdej z nich prekompilovat. ak chces nieco fakt prenositelne, tak pouzi javu.
Neviem ci OpenGL podporuje nieco ako kreslenie bez inicializacie okna atd., ale mozno ano. Niekto skusenejsi pomoze.

Citovat příspěvek

 

Jak použít OpenGL bez platformních závislostí?

Autor: Lopiq

14:54:55 22.04.2009

Přeji hezký den,
chtěl bych se zeptat, jak lze OpenGL použít bez závislostí na operačním systému (vytváření oken, zpracování událostí, ...).

V dokumentacích je uvedeno, že se jedná o platformně nezávislou knihovnu. Bohužel, úplně všechny dokumentace pak pokračují popisem implementace na Windows (příp. Linux). Nenašel jsem nikde, jak OpenGL používat, pokud bych chtěl pouze jednoprůchodově vygenerovat obraz do nějaké vlastní struktury, abych například uložil obrázek krychle na disk, nebo s ním provedl cokoli jiného ve vlastní aplikaci.
Jak na to?

Můžete prosím někdo zkušený napsat jednoduchý zdroják, který namísto vytváření oken přes WinAPI pouze inicializuje OpenGL (aby to fungovalo bez ohledu na to, jestli je program přeložen pro Windows, Linux nebo cokoli jiného), a vykreslí trojúhelník do mého pole RGBA hodnot, které si pak už zpracuju sám?

Díky

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: