Go Back   Project64 Forums > General Discussion > Open Discussion

Reply
 
Thread Tools Display Modes
  #1371  
Old 10th August 2014, 07:15 PM
oddMLan's Avatar
oddMLan oddMLan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2009
Location: Parappa Town
Posts: 210
Default

But has he tried to reach them? I mean, to convince them to unban him.
Reply With Quote
  #1372  
Old 10th August 2014, 07:48 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

If you knew what happened, you'd find it as miraculous as I do that I'm not banned on this forum as well even now.

As for EmuTalk, I could take it or leave it. It's not really wise to rely on the assumption that I'll be unbanned, as I probably would have banned me if I were in Knuckles' position as well. Unlike most vBulletin forums, on EmuTalk, any moderator is capable of both banning and unbanning. Gent isn't the one who banned me there, but after all that's happened, he'd probably be the best person to ask, due to how likely it is that he'd say No.

Although, he is inactive now, and the fact that I'm semi-happily busy with emulation code would probably only cause him to look at me the same way as he looks at Squall Leonhart's way of handling N-Rage/VBA-M. I haven't had contact with Gent ever since Mdkcheatz spent all his time showing off how many friends he has as software developers. (A therapist would do quite easily to irritate his nerves just by revealing that Mdkcheatz doesn't exactly have any friends.)

I have an IRC channel set up already, but I was hoping to reserve it for projects bigger than just this plugin, like supporting a 64-bit plugin specifications so we can start having 64-bit emulators.

So unless people are going to start voting on EmuTalk vs. IRC I can only assume that everyone here is indifferent in the matter and that I should just keep posting here. In the meantime, until we get an agreement, I'm fine with this forum database crashing because it doesn't stop me from working on the plugin just because website's down.
Reply With Quote
  #1373  
Old 10th August 2014, 08:13 PM
RPGMaster's Avatar
RPGMaster RPGMaster is offline
Alpha Tester
Project Supporter
Super Moderator
 
Join Date: Dec 2013
Posts: 2,008
Default

I'd prefer just using this forum and IRC. It's simpler and more convenient imo. I also think it would be kinda weird to have the same thread in 2 different forums .
Reply With Quote
  #1374  
Old 10th August 2014, 10:18 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

I prefer EmuTalk over cen64 forums I think, although I'd like to think I'm not being the exact same as everybody else with their approach. I like to be different...EmuTalk is sort of glued to the past, which is more respectable than only caring about the future.

That's why, like I said, I could take it or leave it. For some reason different people ended up e-mailing the mods at EmuTalk to unban me, and nothing came of that. If there's no compassion, I don't care. These projects don't have to go on a forum.

I think the only real disadvantage to IRC is that it's more along the lines of, "Early bird gets the worm." You have to be l33t and have a constant internet connection to the server to be able to see everything that's being said on IRC, and offline messaging is limited to certain network services (which can in theory be abused by server admins to spy on people). So, if you're not on the channel, you never see what was said (with few interesting exceptions). Then again, it's no less anonymous than forums are because forums like this are hosted on HTTP and implicitly log IP addresses/client info for even guest webpage actions.
Reply With Quote
  #1375  
Old 10th August 2014, 10:37 PM
oddMLan's Avatar
oddMLan oddMLan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2009
Location: Parappa Town
Posts: 210
Default

Yeh, I too prefer forums over IRC (for the same thing you mentioned)
Reply With Quote
  #1376  
Old 10th August 2014, 10:45 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

If I see Gent on IRC again or w/e I'll ask him if he feels like anything's changed. It's not at all that I mind asking about being unbanned; it's that I'm not in contact with any admins on ET and that people have already asked them in the past.

IRC by itself wouldn't be too reliable; I agree. Many people aren't able to leave their computers/Internet on overnight. It would be nice to have on the side though. Forums by themselves, on the other hand, bore the shit out of me.

Edit: Also if you've registered with a free BNC provider, you can have offline IRC messages even if your Internet sucks. It can stay on 24-7 and it would be like a forum, except no sub-sections. But, I don't like sub-sections for fun instant chats anyway

Last edited by HatCat; 10th August 2014 at 10:58 PM.
Reply With Quote
  #1377  
Old 11th August 2014, 12:01 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

!! in other news !!

I was ecstatic to find that there IS a way to draw bitmaps in OpenGL 1.1, that hasn't been deprecated/removed in GL 3.1. You can use vertex arrays: This is the only legal OpenGL command that can set up textured primities for blitting the frame buffer to the screen, that works on both OpenGL 1.x and modern GL without use of a compatibility/deprecated functions profile.

In addition, the glDrawArrays and glDrawElements commands seem to work on OpenGL ES 2.0 and later if I'm not mistaken, so it will be portable to mobile devices. (I don't care personally; I just like making code portable.) There is a way to use OpenGL ES natively on desktop Windows if you have an AMD graphics card and libEGL installed...but, I have an NVIDIA card so cannot test. There are emulators for GL ES though.
Reply With Quote
  #1378  
Old 11th August 2014, 03:26 AM
MarathonMan's Avatar
MarathonMan MarathonMan is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jan 2013
Posts: 454
Default

Quote:
Originally Posted by HatCat View Post
!! in other news !!

I was ecstatic to find that there IS a way to draw bitmaps in OpenGL 1.1, that hasn't been deprecated/removed in GL 3.1.
Regardless of the OpenGL standard you wish to target, can't you just generate textures for each frame and render them to a quad? This is what I did for the initial version of the VI rendering system in CEN64.
Reply With Quote
  #1379  
Old 11th August 2014, 03:55 AM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

Can't I just generate tex-coords each frame and render the FB to a quad, you ask?

As opposed to what? I thought that was the only way to do it that worked on both OpenGL 1.1 and 3.1. What you were asking was what I had described: Vertex arrays. I have one array for the geometric/triangle strip vertices, another for the tex-coord vertices.

Code:
static GLfloat vertices[2 * (3 * 2)] = {
    -1.f, -1.f,/* C(-1, -1) # A   */
    +1.f, -1.f,/* D(+1, -1) # |\  */
    -1.f, +1.f,/* A(-1, +1) # C-D */

    +1.f, -1.f,/* D(+1, -1) # A-B */
    -1.f, +1.f,/* A(-1, +1) #  \| */
    +1.f, +1.f,/* B(+1, +1) #   D */
}; /* progressive geometric slope of +1 (Draw a segment from C to B.) */

static GLfloat texture_coordinates[2 * (3 * 2)] = {
     0.f, +1.f,/* A(-1, +1) # A-B */
    +1.f, +1.f,/* B(+1, +1) # |/  */
     0.f,  0.f,/* C(-1, -1) # C   */

    +1.f, +1.f,/* B(+1, +1) #   B */
     0.f,  0.f,/* C(-1, -1) #  /| */
    +1.f,  0.f,/* D(+1, -1) # C-D */
}; /* progressive pixel transfer along scanlines AB, down to CD */
to-do: Make this store 4 coordinates (x/y/z/w) instead of only 2 (x/y) and set a byte stride in glVertexPointer, see if this impacts performance in a good or bad way (perhaps loading XYZW is faster than only XY and letting OpenGL implicitly assign Z = 0, W = 1?).

I also don't have the above vertices configured for GL_TRIANGLE_STRIP yet, which is sometimes (but not always) faster.
Reply With Quote
  #1380  
Old 11th August 2014, 07:45 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,236
Default

I'm noticing something of a 7-8 VI/s speed-up in demos when specifying a stride of 0.

Code:
#define TRIANGLES_PER_QUAD      2
#define VERTICES_PER_TRI        3
#define COORDS_PER_VERTEX       2

...

    glVertexPointer(COORDS_PER_VERTEX, GL_FLOAT, 0*sizeof(GLfloat), vt_geo);
    glEnableClientState(GL_VERTEX_ARRAY);
    glTexCoordPointer(COORDS_PER_VERTEX, GL_FLOAT, 0*sizeof(GLfloat), vt_tex);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    glDrawArrays(GL_TRIANGLES, 0, TRIANGLES_PER_QUAD * VERTICES_PER_TRI);
Strictly speaking, we of course do not have a stride of 0; this is just a special value the OpenGL state machine interprets to mean that all the array data is packed contiguously, without any need to jump over bytes. I was curious if changing this to my `COORDS_PER_VERTEX' macro (which currently is set to 2 coords/vtx, just x and y positions). The actual stride now is supposed to be 2 * sizeof(GLfloat), but that takes my emulation speed from 238-240 VI/s down to 228-235. Similarly, if I change COORDS_PER_VERTEX from 2 to 4 and include the full set of 4 OpenGL coordinates (x/y followed by z/w), neither a line stride of 0 nor 4*sizeof(GLfloat) is faster than a line stride of 0 with only 2 coords/vtx.

Code:
static GLfloat vt_geo[TRIANGLES_PER_QUAD*VERTICES_PER_TRI*COORDS_PER_VERTEX] = {
    -1.f, -1.f ZW_CARTESIAN/* C(-1, -1) # A   */
    +1.f, -1.f ZW_CARTESIAN/* D(+1, -1) # |\  */
    -1.f, +1.f ZW_CARTESIAN/* A(-1, +1) # C-D */

    +1.f, -1.f ZW_CARTESIAN/* D(+1, -1) # A-B */
    -1.f, +1.f ZW_CARTESIAN/* A(-1, +1) #  \| */
    +1.f, +1.f ZW_CARTESIAN/* B(+1, +1) #   D */
}; /* progressive geometric slope of +1 (Draw a segment from C to B.) */

static GLfloat vt_tex[TRIANGLES_PER_QUAD*VERTICES_PER_TRI*COORDS_PER_VERTEX] = {
     0.f, +1.f ZW_CARTESIAN/* A(-1, +1) # A-B */
    +1.f, +1.f ZW_CARTESIAN/* B(+1, +1) # |/  */
     0.f,  0.f ZW_CARTESIAN/* C(-1, -1) # C   */

    +1.f, +1.f ZW_CARTESIAN/* B(+1, +1) #   B */
     0.f,  0.f ZW_CARTESIAN/* C(-1, -1) #  /| */
    +1.f,  0.f ZW_CARTESIAN/* D(+1, -1) # C-D */
}; /* progressive pixel transfer along scanlines AB, down to CD */

...

#if (COORDS_PER_VERTEX > 4)
#error SMOKE WEED EVERY DAAAAAAY
#elif (COORDS_PER_VERTEX == 4)
#define ZW_CARTESIAN    , 0.f, +1.f,
#elif (COORDS_PER_VERTEX == 3)
#define ZW_CARTESIAN    , 0.f,
#else
#define ZW_CARTESIAN    ,
#endif
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 05:10 PM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2023, Jelsoft Enterprises Ltd.