Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 16 Feb 2009
Offline Last Active May 18 2014 03:20 AM

Topics I've Started

Mobile Site Bug and Suggestion

18 January 2013 - 04:16 AM

I'm using Chrome for iPhone and when I quote someone it places the HTML in the reply, but as text and not as HTML.

Additionally, when then editing a post with HTML in it, the HTML is duplicated.

Lastly, I suggest placing a "To Bottom of Page" button at the top of the mobile site when viewing a post, because having to manually scroll to the bottom every time using the phone is pretty annoying.

Always use VAO or no?

17 January 2013 - 10:19 PM

I'm sure there has to be a similar thread somewhere, but I can't find it. I was wondering, is there any reason not to use a VAO? And in the latest version of OpenGL, are all other forms of rendering deprecated?

Advanced Render Queue API

27 December 2012 - 12:37 AM

Let me preface this by saying I have read everything I could find on the web on this topic, but have been unable to answer my question.

This list includes most notably:

I understand sorting the draw calls and how to use this system under the fixed-function pipeline. However, when I change to a programmable pipeline, I can't seem to come up with how a "Render Operation" would be structured.


The best solution I could come up with was an object list for both uniforms and attributes. However, I can't see how a VAO or VBO would fit into this scheme.


Roughly, my code might look like:

class ShaderProgram {
  void Create(char*,char*);
  void MakeCurrent();
  ShaderAttributeInfo const & GetAttribute(const char* name);

  List<ShaderAttributeInfo> m_Attributes;
  List<ShaderUniformInfo> m_Uniforms;

class ShaderAttribInfo {
  GLint handle;
  GLenum type;

  Set(void* data);

class ShaderAttrib {
  ShaderAttribInfo* info;
  void* data;

... // Same basic structure for Uniforms

class RenderOperation {
  List<ShaderAttrib> m_Attributes;
  List<ShaderUniform> m_Uniforms;
  ShaderProgram* m_Program;


I'm trying to make my system as versatile, yet efficient as possible.


To reiterate, my question is: How would a "Render Operation" be formatted for a Render Queue using a programmable pipeline? The operation should allow for any sort of uniform or attribute and allow for VAOs and VBOs. And I don't feel the need to support a fixed function pipeline, so don't worry about that.


I hope I made my confusion clear enough. Thanks a ton.

Geometry Instancing + Batching Questions

19 October 2012 - 02:34 PM

I am working on a renderer for my game and I would like to incorporate batching and instancing. I have read http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter03.html and while this document is very helpful, it left me confused about some specifics; so I was wondering if one of you could help clarify. Specifically, my questions are:
  • Why is the geometry batch abstract? Is it to allow static and dynamic geometry to be implemented differently? Are there other uses?
  • How is GeometryBatch::Commit() used for dynamic batching? It seems like Update() would be the only function necessary to change the stream data.
  • In a dynamic environment, would it be correct to clear all the batches each frame, in order to query what is visible and re-batch? Or should each batch maintain a list of active (visible) geometry instances?
The game I am making is 2D and I am using Marmalade SDK, so any advice tailored toward that would be especially helpful, but I think my confusion is conceptual. Thanks for your help.

Particle System Design Question

21 September 2011 - 07:11 AM


I've been doing some research on particle system design lately and am curious how a "channel" based particle system is implemented. The only description I can find is just about how it saves space by allowing particles to not hold data they don't need for their system.

Actually, the only two references to this type of system I can find are http://bit.ly/qoUdIt and http://bit.ly/ouFNHV .

Is it actually called something else normally?

Thank you.