Giter VIP home page Giter VIP logo

picagl's Introduction

picaGL

picagl's People

Contributors

masterfeizz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

picagl's Issues

[Feature request] Context creation

Intro:

First, I want to thank you for your research and development on PicaGL. While it may not be a fully completed GL implementation, with Xash3d and ioQuake you've proven it works.. great!

To my knowledge, PicaGL is currently the most up-to-date and usable GL implementation available for 3DS.
While Citro3d may have some cool features, it's a lot of work to get heavily GL dependent software to run with Citro3d.

I would love to be able to implement PicaGL in some projects, so i started reading up on how to utilize GL in general and on specific platforms. Reading up on the GL specification, and studied the implementation of PicaGL in Xash3d and ioQuake. I've learned a few things.

To the point:

If i want to use GL, i have to:

  • initialize PicaGL (initializes 3DS screen and set default GL state)
  • create a context
  • create a window with the currently available context
  • ... from here on, we should be able to use most standard gl-functions.

From what i've learned, creating a context isn't part of < v3.1 versions of GL.
Creating a context is handled by either an external API or a API included in a platform specific implementation of GL.

Both your ports have their own gl renderer which handle the context creation.
After PicaGL init, 3DS specific values are manually added to a gl_config struct from which the engine is able to create a context.

Please correct me if i'm wrong.

Let's just say, i want to get ResidualVM on 3DS (i really do). ResidualVM's GL implementation relies on SDL, which in term relies on platform specific GL-API's to be able to create a context.

Unfortunately, most GL examples or engine's also rely on having an external API providing the context.

I've been trying to find out what values a valid context has to include, but i haven't found a clear specification on this part.

The actual issue / feature request:

  • Would it be possible to have PicaGL provide a basic context, instead of defining it separately in each port?

Since PicaGL follows the GL specification quite well, this should make utilizing PicaGL even more approachable for amateurs like me.

  • Or else, maybe provide a simple example on how utilize PicaGL without requiring the functions offered by ioQuake or Xash3d. If this is possible in it's current state.

Anyhow, thank you for your work on a couple of great 3DS ports and PicaGL itself.

[Request] Please add a license

It would be great if this was licensed to allow redistribution in ports. It seems like it’s already “allowed” but I’d like to see it set in stone. Maybe GPL?

glDrawArrays doesn't work without GL_COLOR_ARRAY

It seems calling glDrawArrays and glDrawElements without specifying a color array or texture doesn't seem to work (nothing will be rendered, even if GL_COLOR_ARRAY is disabled and glColor is used).

Having trouble using this in my project

Hi, it doesn't look like you're very active anymore, but I'm hoping you'll respond :)
I tried compiling the project, but vshader_shbin.h was missing. I tried compiling the shaders with picasso, but then vshader_shbin, clear_shbin, and their sizes were missing. Here are my questions:

What is the proper way to compile the shaders with picasso (or some other tool)?
Once I get your project imported, how can I get from nothing to having an OpenGL context?

Thank you and have a nice rest of your day!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.