Jump to content

  • Log In with Google      Sign In   
  • Create Account


Android + GLES 2.0 - Why Can't I See Anything? (SOLVED)


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
5 replies to this topic

#1 elliotpotts   Members   -  Reputation: 130

Like
0Likes
Like

Posted 13 February 2014 - 04:29 PM

Hi everyone - this is my first post on GameDev.net and I apologise that it is just asking for help! I cannot for the life of me get this code to display anything. All I want is a quad on the screen (or anything, then I can work from there!)

Here is the code: https://gist.github.com/elliotpotts/8983783

I don't understand what is wrong - I thought I'd done everything:
  • Compiled shaders
  • Linked program
  • Generated index + vertex buffers
  • Put data into the buffers
  • Bound the buffers and used the programme
  • Set up the vertex layout
  • Drawn with `glDrawElements`
But still all I can see is the orange screen from `glClear`! I can't find any errors in the log either.

Any help or insight would be much appreciated!
Thanks. Ell.

Sponsor:

#2 HScottH   Members   -  Reputation: 495

Like
0Likes
Like

Posted 13 February 2014 - 04:47 PM

Here are some things to try:

 

* Use your Projection. You are not calling your method to build the projection matrix, but you are pushing it to the shader.  Yet, you are not using it in the shader (mutiply that vec4(...) with it).

 

* Turn off culling explicitly.

 

* Push your geometry a little positive from 0 in the Z direction.

 

* Change the 2 to a 4 in the glDrawElements call; this number represents the number of indices, not triangles

 

* Try changing from GL_TRIANGLE_STRIP to GL_TRIANGLES



#3 elliotpotts   Members   -  Reputation: 130

Like
0Likes
Like

Posted 13 February 2014 - 05:30 PM

Thanks for the tips - I don't gave access to my computer until the morning now (GMT) but as soon as I can I will try those things out and report with the results - if you think of anything in the mean time please post it here and I will check this thread to see if anyone has come up wit anything else. Thanks again :)

#4 KoMaXX   Members   -  Reputation: 265

Like
0Likes
Like

Posted 14 February 2014 - 09:31 AM

Hi elliotpotts,

 

welcome to the special hell that is graphics programming ;)

 

Since I haven't found anything particularly wrong with your code, try the following:

* Add a GLES20.glGetError() after every single GLES20 function call you do. It it ever returns anything but 0, you've found your problem.

 

Otherwise, try to dumb it down:

* Do not use a vertex buffer, but push the vertices directly

* Use a simple orthographic projection

* Play with the z-value (negate it, +10, -10, ...). It may be that your geometry simply is not in the viewing area.

* Swear

 

Hope that helps!


Go on, feed your brain: http://poroba.com/flip/flipz.php


#5 elliotpotts   Members   -  Reputation: 130

Like
0Likes
Like

Posted 14 February 2014 - 11:38 AM

Okay, so I tried doing `GLES20.glGetError()` after every GLES20 function call and all of them were 0. I've tried fiddling with the z values - still can't see anything. I've now tried without any matrices at all which should draw the vertices in window coordinates - https://gist.github.com/elliotpotts/9005362

 

I don't want to try without a vertex & element buffer because this is what I need to achieve! I still have no clue why I'm not seeing anything because the above code is very minimal.



#6 elliotpotts   Members   -  Reputation: 130

Like
1Likes
Like

Posted 14 February 2014 - 12:12 PM

Ahh I fixed the issue - I was trying to use the `GLES20` as if it were a C api therefore I was not using native `ByteBuffer`s! I have to allocate buffers with `ByteBuffer.allocateDirect` and then fill them with data.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS