dev.gamez.lv Forum Index dev.gamez.lv
Latvian Game Developers Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups 

Problēma ar masks
Goto page Previous  1, 2
 
dev.gamez.lv Forum Index -> OpenGL
View previous topic :: View next topic  
Author Message
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Thu Feb 11, 2010 6:54 am    Post subject:

Nu piemēram šo te: http://www.gamers.org/dEngine/quake3/TGA.txt
Vai tikpat labi šo: http://en.wikipedia.org/wiki/BMP_file_format vai http://www.pygame.org/wiki/Load_32-bit_BMP_with_Alpha?parent=CookBook
Bet tas būs riktīgi lēnāk, nekā izmantot iebūvētās bilžu ielādēšanas funkcijas. Arī vietu tas aizņems vairāk, protams.
Ar png nevajadzētu būt problēmām ielādēt 32-bitu RGBA bildi.
Back to top
View user's profile Send e-mail
Vecis



Joined: 01 Jan 2007
Posts: 144

PostPosted: Sun Feb 14, 2010 5:20 pm    Post subject:

Nu atradu probleemu, nez kaapeec GL_RGBA tieshaam nav atbalstiits shajaa Python versija (ziamntoju jaunaako pieejamo uz S60)
Ir atbalstiitas tikai 3 kombinaacijas kur nevienaa nevar izmantot GL_RGBA
funkcijaa gltexImage2D()
Tad nu tagad jaameklee kaadas alternatiivas vai jaagaida kad beidzot GL_RGBA buus pieejams...
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Feb 14, 2010 5:34 pm    Post subject:

Ja simbiāņa gles implementācija atbalsta GL_RGBA, tad var jau pitonā vienkārši ierakstīt tās konstantes vērtību. Tas nekas, ka tajā nav nodefinēta GL_RGBA konstante. Parasts skaitlis arī strādās, ja C API's to saprot.
Back to top
View user's profile Send e-mail
Vecis



Joined: 01 Jan 2007
Posts: 144

PostPosted: Sun Feb 14, 2010 6:03 pm    Post subject:

simbianis pats atblasta GL_RGBA, to es zinu. Kur sho konstanti var atrast?
Back to top
View user's profile Send e-mail
snake5
Indago dalībnieks
Indago dalībnieks


Joined: 27 Jun 2007
Posts: 2590

PostPosted: Sun Feb 14, 2010 6:18 pm    Post subject:

meklē kādai citai implementācijai GL ES headera failu (visās valodās/versijās konstantēm vajadzētu būt identiskām).
_________________
"There are two choices here: "looks good" and "realism"." -- Paul Nettle
Back to top
View user's profile Visit poster's website
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Feb 14, 2010 6:24 pm    Post subject:

Jāmeklē nevis citai implementācijai, bet gan jādodās uz Khronos'u.

Vispār atcerējos, ka GL_RGBA 32-bitu/8-bit komponenšu formāti neietilpst OpenGL ES 1 standarta apī. Tie tiek nodrošināti ar paplašinājumiem. pys60 gadījumā opengl paplašinājumiem nav speciāli jālieto?

Reku: http://www.khronos.org/registry/gles/api/1.1/glext.h
Quote:
/* GL_OES_rgb8_rgba8 */
#ifndef GL_OES_rgb8_rgba8
#define GL_RGB8_OES 0x8051
#define GL_RGBA8_OES 0x8058
#endif

Ja devaiss neatbalsta so paplašinājumu, tad nevarēsi lietot rgb8/rgba8 konstantes kā tekstūru formātus.

Ja nu lieto GL ES 2.0, tad tas gan ir standartā iekšā: http://www.khronos.org/registry/gles/api/2.0/gl2.h
Back to top
View user's profile Send e-mail
Vecis



Joined: 01 Jan 2007
Posts: 144

PostPosted: Tue Feb 16, 2010 4:24 pm    Post subject:

Izmantoju ES 1.1. Nu uz pys60 man nav nekadi paplashinajumi iznjemot gles_utils vai kas tads, citus nemaza neesmu redzejis un kka shaubos vai ir par cik OpenGL + Python + S60 lietotaji ir diezgan maz, bet paskatijos ka tas ir lai veiktu kadas matematiskas funkcijas, parveidotu data tipus no viena uz otru u.c. bet nekas no ta ko vajag.

Zinu ka tas ir iespeajms uz shi pasha device tikai citas valodas, bet tad nu pagudroju un ielaadeeju Python sourci,
kaa buutu ja es iemestu klaat sho glext.h kkur pie shiem source failiem un kaadaa attieciigaa cpp faillaa (taadu tur ir pietiekami) pierakstiitu
#include "glext.h"
Nu iisaak, piekompileet sho paplashinaajumu pie visa.
Man pilnigi nav ne jausmas vai kas tads darbotos, tapec prasu sheit.
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Tue Feb 16, 2010 4:35 pm    Post subject:

Tā tas nestrādās.
Lai pitonā padarītu redzamas dažādas funkcijas, konstantes vai citas lietas, tam ir speciāli jāraksta kods. Ar vienkāršu #include nekas nesanāks.
Back to top
View user's profile Send e-mail
Vecis



Joined: 01 Jan 2007
Posts: 144

PostPosted: Sun Aug 08, 2010 2:54 pm    Post subject:

Par cik ar to RGBA nekas nesanāca, tika atrasts cits veids:
Code:

           glEnable(GL_DEPTH_TEST)
#render all mtls without masks
#...

#render all mtls with masks
            glDepthMask(GL_FALSE)
            for mtl, masked, triangles in i.ldraw:
                if mtl in masked_mtls:
                    glEnable(GL_BLEND)
                    glDisable(GL_CULL_FACE)
                    glBlendFunc(GL_DST_COLOR,GL_ZERO)
                   
                    glBindTexture(GL_TEXTURE_2D, i.textures[i.dmasks[mtl]])
                    glDrawElementsus(GL_TRIANGLES, triangles)

                    glBlendFunc(GL_ONE, GL_ONE)
                    glBindTexture(GL_TEXTURE_2D, i.textures[i.dtextures[mtl]])
                    glDrawElementsus(GL_TRIANGLES, triangles)
            glDepthMask(GL_TRUE)

No sākuma viss itkā smuki strāda

Bet mēģinot vēlreiz, kodā neko nemainot, pēkšņi

Kas varētu būt pie vainas, kā izlabot?
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Aug 08, 2010 2:57 pm    Post subject:

Objektu zīmēšanas kārtība?
Back to top
View user's profile Send e-mail
Vecis



Joined: 01 Jan 2007
Posts: 144

PostPosted: Sun Aug 08, 2010 3:07 pm    Post subject:

Nu no sākuma tiek zīmēti objekti bez maskām un pēc tam ar, pēc attāluma vēl zīmēšana nav sakārtota bet vai tad tajā gadījumā nebūtu vienkārši "depth" problēmas nevis kkas zaļš tur kur nevajag būt nekam redzamam?
Back to top
View user's profile Send e-mail
bubu
Indago Uzvarētājs
Indago Uzvarētājs


Joined: 23 Mar 2004
Posts: 3223
Location: Riga

PostPosted: Sun Aug 08, 2010 4:45 pm    Post subject:

Uzraksti savas blend formulas uz papīra un paskaties, kas notiek ja tuvāk esošo caurspīdīgo poligonu zīmē pirms tālāk esošā. Tad arī būs visiem skaidrs, vai drīkst vai nedrīkst tā darīt.

Normālajā caurspīdīguma modē (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) ja nepareizā kārtībā zīmēs caurspīdīgos objektus dabūs dīvainus caurspīdīguma [d]efektus.
Back to top
View user's profile Send e-mail
Display posts from previous:   
dev.gamez.lv Forum Index -> OpenGL All times are GMT + 2 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group