Skip to content

[Feature Request] Massively overhaul Drawable classes #10

Open

Description

@lucasstarsz

Is your feature request related to a problem? Please describe.

As part of the massive performance, feature, and structural overhaul needed to propel FastJ into 2.0, we need an incredibly strong and flexible foundation. As such, this issue is opened to describe the many things needed in order to consider the engine ready for a more useful UI system, among other things.

What should the solution be like?

This is the list of features currently expected as a bare minimum in order to proceed:

General Model Loading

Text2D

  • Improve Text2D with vector graphics/attribute modifiers
  • Support to read/write Text2D to tsdf/svg

Polygon2D

  • Improve Polygon2D with more paint options/outline options
  • Add extra options for working with complex curves (beziers)
  • Add option to create Polygon2D from Path2D instance

Drawable


If you have any suggestions for other features, please leave a comment down below explaining. Progress of this will be tracked in the drawable branch.

Activity

  1. self-assigned this
    on Apr 23, 2021
  2. nt314p commented on Apr 25, 2021

    @nt314p

    Perhaps a function or class to set a certain pixel on screen (hopefully will be more performant than drawing a 1x1 rect).
    Ability to draw arcs (psdf support and Polygon2D support).

    Also is it feasible to add a Polygon2D constructor that takes a Path2D?

  3. lucasstarsz commented on Apr 26, 2021

    @lucasstarsz
    MemberAuthor

    Perhaps a function or class to set a certain pixel on screen (hopefully will be more performant than drawing a 1x1 rect).

    I can't currently guarantee that this will be very performant, unfortunately, but I think it would be worth a shot.

    Ability to draw arcs (psdf support and Polygon2D support).

    This is included (but not specified -- my bad!) with the improvements all around for the Polygon2D class and model loading.

    Also is it feasible to add a Polygon2D constructor that takes a Path2D?

    Totally! I personally might end up making it a static method that reads like so:
    Polygon2D polygon = Polygon2D.fromPath(path2d);
    Hopefully that ends up working out for you.

  4. added 11 commits that reference this issue on May 29, 2021
  5. 31 remaining items

  6. added 2 commits that reference this issue on Jul 4, 2021
  7. lucasstarsz commented on Jul 11, 2021

    @lucasstarsz
    MemberAuthor

    Note: the drawable-improvement branch has been replaced with the drawable branch.

  8. added 3 commits that reference this issue on Aug 29, 2021
  9. added 2 commits that reference this issue on Sep 12, 2021
  10. added 5 commits that reference this issue on May 9, 2022
  11. lucasstarsz commented on May 9, 2022

    @lucasstarsz
    MemberAuthor

    Also is it feasible to add a Polygon2D constructor that takes a Path2D?

    @nt314p Finally got around to doing this one. Still on the fence about working with arcs, points, and lines, but we've got one completely added (see #205)! Hope this helps 👍🏾

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions