View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0001870 | OpenClonk | Engine | public | 2016-12-18 17:03 | 2017-12-23 11:15 | ||||||||
Reporter | Marky | ||||||||||||
Assigned To | |||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | confirmed | Resolution | open | ||||||||||
Platform | OS | Windows | OS Version | 7 | |||||||||
Product Version | 8.0 | ||||||||||||
Target Version | git master | Fixed in Version | |||||||||||
Summary | 0001870: SetObjDrawTransform causes unintended distortion on certain objects | ||||||||||||
Description | SetObjDrawTransform() causes a distortion that is not intended. For example, in objects with a large width and a small height, it causes distortion if the width parameter is low - in this case the graphics are drawn about twice as high as they should be. This depends on the window size, see "Steps to Reproduce" | ||||||||||||
Steps To Reproduce | An object with Category=C4D_StaticBack|C4D_Parallax|C4D_Foreground|C4D_MouseIgnore|C4D_IgnoreFoW Width=110 Height=30 Offset=-55,-15 Picture=0,0,110,30 was created. The phenomenon appears, regardless whether you transform a layer of the object itself or if you give another object these graphics and transform them. To reproduce the phenomenon, do the following: 1) Setup: var dummy = CreateObject(foo); dummy->SetGraphics("bar", nil, 1, 1); dummy->SetGraphics("bar", nil, 2, 1); dummy->SetClrModulation(RGB(0, 0, 0), 1); 2) Reproduce: dummy->SetObjDrawTransform(x, 0, 0, 0, 1000, 0, 2); Change the parameter x to different values, for example x=50, and x=1000; If x is very small, then the object should appear with more distortion in the height than intended. | ||||||||||||
Additional Information | * You can determine a certain boundary value for the distortion. In my case this was x_distorted=106, x_undistorted=107). Once I changed the size of the editor window, so that the window was less wide, the values changed to x_distorted=137 and x_undistorted=138; * If you use a dummy object the values may be different. * The phenomenon seems not to appear on square shaped object graphics, such as the rock. * See bug http://ccf.striver.net/bugtrack.php?shbug=13355, the object in question is Hazard_HUD from the following pack https://ccan.de/cgi-bin/ccan/ccan-view.pl?a=view&i=6270 | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files |
|
![]() |
|
Luchs (administrator) 2016-12-19 17:02 |
I'd guess it's an issue with float precision somewhere? It only happens for small screen sizes because in OpenGL, screen coordinates are always between 0 and 1. If that's the case, I don't know if we can do anything about it. It doesn't seem to be much of an issue if it only happens for tiny editor viewports. |
Marky (developer) 2016-12-20 08:52 |
It happens not only for tiny editor viewports, but with "normal" screen resolution when playing the Hazard pack. |
![]() |
|||
Date Modified | Username | Field | Change |
---|---|---|---|
2016-12-18 17:03 | Marky | New Issue | |
2016-12-19 17:02 | Luchs | Status | new => confirmed |
2016-12-19 17:02 | Luchs | Note Added: 0005549 | |
2016-12-20 08:52 | Marky | Note Added: 0005552 | |
2017-08-05 13:58 | Maikel | Target Version | => 8.0 |
2017-12-23 11:15 | Luchs | Product Version | git master => 8.0 |
2017-12-23 11:15 | Luchs | Target Version | 8.0 => git master |