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

Wrong rendering on Huawei P8 Lite #879

Closed
hajimehoshi opened this issue Jun 6, 2019 · 3 comments
Closed

Wrong rendering on Huawei P8 Lite #879

hajimehoshi opened this issue Jun 6, 2019 · 3 comments

Comments

@hajimehoshi
Copy link
Owner

hajimehoshi commented Jun 6, 2019

Reported by @wasedaigo

Balloons on hajimehoshi/rpgsnack-runtime are rendered wrongly.

@hajimehoshi hajimehoshi added the bug label Jun 6, 2019
@hajimehoshi hajimehoshi added this to the v1.10.0 milestone Jun 7, 2019
@hajimehoshi
Copy link
Owner Author

Confirmed.

@hajimehoshi
Copy link
Owner Author

hajimehoshi commented Jun 20, 2019

On Huawei P8 Lite, the best float precision was [-2^15, 2^15]. I think this is the culprit.

I'll fix to adjust TexelAdjustmentFactor along with the precision.

EDIT: vertex presion was [-2^127, 2^127], which should be enough 🤔

EDIT2: The problem happens where texture values are taken, and this is done at the fragment shader.

hajimehoshi added a commit that referenced this issue Jun 21, 2019
…ackage

This is a preparation for #879. The value of the texel adjustment
depends on the graphics driver (GLSL float precisions), and this
can be accessed only after the run loop runs. The place where
graphics commands are executed seems an appropriate place.

Updates #879
@hajimehoshi hajimehoshi reopened this Jun 22, 2019
@hajimehoshi
Copy link
Owner Author

hajimehoshi commented Jun 22, 2019

This was not finished yet: using 2048x2048 or 4096x4096 textures don't work correctly.

EDIT: even 1024x1024 don't work??

hajimehoshi added a commit that referenced this issue Jun 22, 2019
hajimehoshi added a commit that referenced this issue Aug 25, 2019
This make package shareable more consistent. The mutex is lock
after EndFrame and before BeginFrame, and the similar rule will be
applied at launching (BeginFrame unlocks the lock in any cases).

Instead, package ebiten queues image operations if BeginFrame and
doesn't create provisional non-shared images. This should improve
performance at launching since this reduces the number of draw
calls, especifally for creating new images.

Updates #879.
Updates #921.
hajimehoshi added a commit that referenced this issue Apr 1, 2022
…ic to atlas

Now pixels are adjusted even when the graphics driver doesn't have
high-precision floats, but this should not be problematic. This was
introduced at 9bff334, but the
adjusting way is much different from the current way.

Updates #879
Closes #1820
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant