• Content count

  • Joined

  • Last visited

Community Reputation

2180 Excellent

About Gooey

  • Rank

Personal Information

  • Interests
  1. say you drive through the edge into another / multiple others and crash you need to do the physics for all grids then in this case take the smallest change in all 3 directions as a collision has been made. That or create a mini grid for the object do the physics and then apply result to the object
  2. A minute of your time (or less!)

    with the use item it depends can you have multiple items if so i stickmwith what i put as then you can scroll through them with the shoulders otherwise id probably use one of the shoulders to use
  3. Bokeh to the Future

    Wow! It is nice to see you have got it done after all that time spent on it and it looks wow!
  4. Starting Someone in Programming

    What language? The faq's has a link to the python site which has tutorials.
  5. Texturing Cubes using UV Coordinates

    One of the problems you are having is that you are using an element buffer this isn't a bad thing but i think you may misunderstand what it is doing. You have 8 vertices which you reuse to make your cube but you have 24 uv coords when glDrawElements draws lets say your first 3 triangle   0, 1, 3, 1, 2, 3   it will grab the data pointed to by your glVertexAttribPointers so this would get for element 0 -0.5f, 0.5f,  0.0f //for the position  0.0f, 0.0f, 1.0f //for the colour 1.0f, 1.0f, 0.0f // for the texCoord 0.0f, 1.0f,  // for the uv everytime that the element buffer says it wants element 0 this is because when you use glDrawElements it will look at the data supplied by glVertexAttribPointer and get the data from the buffer at that point. So it is never using 16 of your uv coords as they are never asked for. this is because when glDrawElements it will ask for say element 1 which would return the the 2nd lot of data. That means that if you ask for element 3 it will look at the data supplied by glVertexAttribPointer and get data it says is is related to element 3 which for glVertexAttribPointer(UV_POS, // location 2, // size GL_FLOAT, // data type GL_FALSE, // normalize 3 * sizeof(GLfloat), // stride nullptr); // where in the buffer the data starts so in this example you have told opengl that the start of the bound GL_ARRAY_BUFFER is where the first bit of data is for UV_POS which contains 2 elements of type float which is not normalized and has a stride of 3 * sizeof(GLfloat) which is 12 bytes. so for element 0 OpenGL would get 2 floats from the beginning of the buffer. For element 1 it would get 2 floats from the beginning of the buffer + (8 bytes for the two float for element 0 + 12 bytes for the stride) so 20 bytes from the beginning of the buffer.
  6. Where to go after OpenGL intro

    The arcsynthesis tutorials are pretty good for opengl 3.3(modern) you can get them there
  7. Maximized IPBoard Chat

    Looks good FC
  8. Try outputting your shader code when you read it make sure thats correct also make sure that the destructor of the shader manager isn't being called before you have finished with that program.
  9. The output pixel is layout(location = 0) out vec4 out_color; which is fine and the core bit refers to the shader program being core modern opengl
  10.   Actually it does not change anything.   I have to take the time to try all the other suggestions. If it doesnt change the triangle to redthat means there is a problem with the shader or the loading of it
  11.   I would probably change the colour values to 0.0 & 1.0 respectively as to avoid confusion and to see if it is any issues with if they are or are not of the right type also it makes it easier to look at and know what you expect. Even better would be to stick an f behind them all to say you want a float like std::vector vertices; vertices.push_back(VertexFormat(glm::vec3(0.25f,-0.25f,0.0f), glm::vec4(1.0f,0.0f,0.0f,1.0f))); vertices.push_back(VertexFormat(glm::vec3(-0.25f,-0.25f,0.0f), glm::vec4(0.0f,1.0f,0.0f,1.0f))); vertices.push_back(VertexFormat(glm::vec3(0.25f,0.25f,0.0f), glm::vec4(0.0f,0.0f,1.0f,1.0f))); As with filling your buffer   I would also suggest changing this to glBufferData(GL_ARRAY_BUFFER, sizeof(VertexFormat) * vertices.size(),, GL_STATIC_DRAW); if you change it to the above code it should have the right size even if you change your vector.   As for the problem of the colours does hard coding a colour into your shader change it to that colour? So something like out_color = vec4(1.0, 0.0, 0.0, 1.0); that should change the triangle to red. I know you don't want just a red one but this will eliminate the shader as the problem
  12. Could i suggest all tutorials can be skipped with a single click or would the training be a separate option to playing? The only reason i suggest this is i have played a game recently and it made me go through the tutorial when i restarted it as much as it was a fun little tutorial i didn't wish to do it a second time and the game forcing me to was annoying
  13. The 10 Suggestions.

    To be fair i am just picking holes in what is a good post and more people need to read and understand it.
  14. My Text Renderer

    So in the last month I have made, remade then scrapped and made again a text renderer for OpenGL using freetype2. I think I am finally happy with it but I am very sure that will change. I still want to add in a way to find available fonts but that can happen whenever I am not too bothered at the moment. After sorting out my renderer the first time I wanted to add a simple list option which triggered remake one when I realized the code was a mess and I needed to add stuff too it. Got that sorted then made a menu selection thingy which then made me change loads of code again and ultimately ended with me deleting the whole thing and starting again with my new knowledge of how i wanted it set out! As much as I know that this isn't all that productive I have done it as I can't decide what I want to make next and I wanted text I could generate on the fly rather than having a file sitting about to be loaded as a texture. Anywho it is done and now I can let it rot in the deep dark damp depths of my hdd!