Jump to content
  • Advertisement


  • Content Count

  • Joined

  • Last visited

Community Reputation

103 Neutral

About JanRichardson

  • Rank
  1. JanRichardson

    Vegetable rendering problem

    Is this for a static scene? What's your view point?
  2. JanRichardson

    Shader Design Patterns

    How about creating an material definition object which sits between your material and your effect / shader code. This could define a list of parameters / textures which can be utilised in you shaders and when your material needs to render it obtains the effect / shaders from the material definition using the combination of textures / material flags. If a corresponding effect / set of shaders doesnt then the material definition could setup a list of compiles flags which can be used in the compilation of your shaders. Thus allowing you to optionally compile sections of the shaders in / out. The effect / shader object which does the binding of you parameters to the uniforms / texture states would then need a seperate list of mapping for each one of these compilation states. i.e. something like Material Material Definition Ptr Effect to use render (cached, clear if we modify the material state in a way which might need a different set of shaders) Array/List of Material Parameters textures and other like floats etc Array/List of material flags Material Definition Array/List of current Effects / Shaders (which we will check to see if a material exists) Array/List of Parameters Defintiions (i.e. textures floats etc) and optionally what defines they cause if they are utilised Any other state change information that needs to be set. (global) Effect Array/List of defines used to compile the shaders. Array/List of parameter mappings (uniform locations etc for each material definition parameter) The compiled effect/shaders Any other state change information that needs to be set. (effect/shader compilation specific) So when you come to render a material, if you don't have a material cached you obtain one from the material definition which if it doesnt exist will build the list of defines to pass to your shaders etc and use an existing entry if one exists. Then when you come to bind a texture/uniform etc, you check the mapping in the effect for the that parameter and bind it to the corresponding location. This should allow you not to need any hardcoded material binds within your main code base then.
  3. JanRichardson

    OpenGL ES 2.0 Emulator

    Yeah we use it as an emulation layer. Within our engine, we abstract all the hardware / platform / OS dependant stuff away so this includes input. For the input we have 2 systems, one being a cursor system, were we can have 0->n cursors active (used for us responding to touch / mouse cursor based input). We also have a system, where the game can create a series of action mappings which can be Axis / Buttons and as the Game starts up we map these onto a input device, be it a joystick, accelerometer etc which can be supported on that platform. We can also map axis / buttons to respond to touch input as well, either through our UI or by touching certain regions of the screen to allow us to create virtual joypads etc So basically we stick all input through an intermediate layer. If you need to be able to test multi touch UI's on the PC you could write something to simulate multiple touch points or you can support multiple mice on windows via a SDK (think its called multipoint mouse SDK) In most cases testing your UI with one cursor as long as when your implementing you UI click/touch responses in your game code that 2 interfaces can be responded to at the same time, ie checking to make sure you've made those 2 buttons mutually exclusive.
  4. JanRichardson

    OpenGL ES 2.0 Emulator

    Its free to use you just need to sign up for an account with them (simple process just a matter of registering with an email address). We just use the SDK as an emulation layer for running our applications / games on windows, so we can fully utilise Dev Studio in debugging, editing etc. Your not tied to using the SDK in your shipped product, all we do is have a header we include which switches the GL header files based upon which platform is being compiled and we have a thin wrapper which initialises the window using the PVR emulator rather than normal GL. Its quite easy to integrate into your graphics engine pipeline, without it effecting any of your main application code, well it was for us anyway.
  5. JanRichardson

    BugWings - For iOS

    Hi, Just wanted to let you all know about my companies latest game which we've released for iOS devices. Its a flight based physics game, in which you have to control your bug using the tilt/touch controls to pick up pollen/power ups whilst guiding your bug to safely land on lily pads / flowers. It plays quite similar to the old target mini game in monkey ball and once you've taken the time master the controls is awesomely addictive and has a local multi-player party mode. It took us about 4 weeks to develop and were pretty happy with the results. [attachment=3220:016.jpg] [attachment=3219:009.jpg] [attachment=3223:022.jpg] [attachment=3222:025.jpg] http://itunes.apple....=uo%3D4buy%252F http://www.bugwings.net/
  6. JanRichardson

    OpenGL ES 2.0 Emulator

    I found the imgtec SDKs really useful when porting my companies engine to support es1 & es2 pipelines, there's also a lot of other good tools and information on their site. http://www.imgtec.com/developers.asp We utilise a simple platform application wrapper over the top of engine / client code which allows us use pretty much the same code base on all the different platforms. It made debugging and development go a lot smoother and was an awesome help in the development of Bug Wings, http://itunes.apple.com/gb/app/bug-wings/id437473178. Their SDK also allows you to capture API calls through PVRTrace and if your writing any shaders for the iphone I'd recommend using their PVRUniSCo editor.
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

GameDev.net is your game development community. Create an account for your GameDev Portfolio and participate in the largest developer community in the games industry.

Sign me up!