Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprites & 2D rendering #37

Open
BearishSun opened this issue Mar 16, 2018 · 4 comments
Open

Sprites & 2D rendering #37

BearishSun opened this issue Mar 16, 2018 · 4 comments
Labels
OFFICIAL type: enhancement [MAJOR] Feature that takes a few weeks up to few months to implement
Milestone

Comments

@BearishSun
Copy link
Member

Add the ability to easily define 2D sprites from textures, and add support for pixel perfect rendering (requires enhancement of the scene object system). (Sprites are also required by the particle system, so it might be implemented there).
Tile map rendering (with import from Tiled app)
Layer rendering (for parallax)

@BearishSun BearishSun added type: enhancement [MAJOR] Feature that takes a few weeks up to few months to implement OFFICIAL labels Mar 16, 2018
@BearishSun BearishSun added this to the Longterm milestone Mar 16, 2018
@nemerle
Copy link
Contributor

nemerle commented May 14, 2018

Would drawing in-scene text quads fall under this ?

@BearishSun
Copy link
Member Author

I haven't fully thought out how would the 2D system work, but it would likely in some way work with the GUI system (quite possibly the GUI system would be re-worked to use the lower-level sprite rendering system, or the current GUI-specific sprite rendering would be extended to support general purpose 2D). Either way text rendering in 2D scenes would be supported.

This would not include text rendering in 3D scenes (e.g. text on the walls, etc.).

@nemerle
Copy link
Contributor

nemerle commented May 14, 2018

Well, text-as-decals is one use-case, another is floating text above some other scene object ( damage notifications, object names etc. )

@BearishSun
Copy link
Member Author

BearishSun commented May 14, 2018

Indeed, although I suspect pretty much all of the code between those use cases will be shared. Technically you can do 3D text right now, by applying an arbitrary 3D transformation on GUIWidget but I do want to make it more straightforward (i.e. a Text component or similar).

Also TextSprite along with TextData provide a way to convert text + font into a set of quads, which can then be rendered using the low level rendering API. (This is what GUI uses internally)

Ideally we should also provide support for distance field text rendering, as it looks really nice with large text sizes (esp. for decals), doesn't require separate font bitmaps for different sizes and takes up much less space.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OFFICIAL type: enhancement [MAJOR] Feature that takes a few weeks up to few months to implement
Projects
None yet
Development

No branches or pull requests

2 participants