Small Feature Errors

Discuss suspected bugs with other users and Sim Innovations Staff

Moderators: russ, Ralph

Message
Author
User avatar
Corjan
Posts: 2939
Joined: Thu Nov 19, 2015 9:04 am

Re: Small Feature Errors

#21 Post by Corjan »

This is the stuff the GPU will do when anti aliasing is turned on:
https://www.displayninja.com/wp-content ... iasing.jpg

Corjan

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#22 Post by Keith Baxter »

Hi,

Thanks for clearing that up @Corjan. I was bashed about a bit there. Was a good boy and kept my cool :)

Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#23 Post by Keith Baxter »

Hi

Just to add some pixel and stroke humor. Naughty it is and is going to go around all's head beat...:mrgreen:



You look good walking across the front of the sketch @Corjan
Love the guns slinging skills you have developed that are close to the end of the sketch. ;)

Hope yous all appreciate twisted humor.
Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#24 Post by Keith Baxter »

Hi,

@Corjan
What you said makes perfect sense. I would just like to try and simplify by illustrating how I have always understood it.

1) A pixel/line is always drawn on the center of a coordinate. A pixel is not dimensionless it has a center. A coordinate has no dimensionless it is a point. A coordinate can have any value.
2) A canvas of x(0), y(0), w(10), h(4) will have 5 main horizontal coordinates. 0,1,2,3,4
3) In the image the red box represents a canvas 4x10 pixels
4) The gray squares represent 1x1 pixels that are drawn along each of the blue lines which are the canvas coordinates.


.
ice_screenshot_20230118-091126.png
Now It is logical that any stroke width drawn along a coordinate, half would be on either side.

Hope that helps others understand.


Keith
Last edited by Keith Baxter on Wed Jan 18, 2023 8:56 am, edited 1 time in total.
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

User avatar
jph
Posts: 2856
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Small Feature Errors

#25 Post by jph »

Which is exactly what I said at he beginning re antialiasing on and off etc - sheesh .. :lol:
Without AA and other effects a pixel is a pixel, no 'half pixels'.
No need to apologise Keith.
It would appear to be a basic lack of understanding on your part of the way a physical display works at pixel level without 'special effects' .. Try some research maybe ? .
A pixel has a dimension. It is always solid - at base level - in it's colour. it's dimension is it's dpi.
AA only adds pixels of another colour to perform the AA
Joe
Last edited by jph on Wed Jan 18, 2023 9:32 am, edited 1 time in total.
Joe. CISSP, MSc.

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#26 Post by Keith Baxter »

Hi,

You cannot draw 5 1x1 pixel lines inside a 4x4 pixel canvas that do not overlap. That is impossible. Two of the lines will be half. FACT.

Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

User avatar
jph
Posts: 2856
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Small Feature Errors

#27 Post by jph »

Hi Keith read the above. I have no interest where you draw them, the minimum common denominator is the pixel. You cannot have less than a physical mechanical / electrical pixel. Anything else is simply 'effects', but the basic pixel remains the same. It cannot do anything else. You CANNOT have less than a single pixel. You can use AA and similar to get a visual representation, but the base pixels will still only ever be single pixel colour. (hence again, no <1 pixel)
Joe
Joe. CISSP, MSc.

User avatar
jph
Posts: 2856
Joined: Fri Apr 10, 2020 12:50 pm
Location: Somewhere over the rainbow..

Re: Small Feature Errors

#28 Post by jph »

Check Corjans link
https://www.displayninja.com/wp-content ... iasing.jpg
A great example.
Joe. CISSP, MSc.

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#29 Post by Keith Baxter »

jph wrote: Wed Jan 18, 2023 9:35 am Hi Keith read the above. I have no interest where you draw them, the minimum common denominator is the pixel. You cannot have less than a physical mechanical / electrical pixel. Anything else is simply 'effects', but the basic pixel remains the same. It cannot do anything else. You CANNOT have less than a single pixel. You can use AA and similar to get a visual representation, but the base pixels will still only ever be single pixel colour. (hence again, no <1 pixel)
Joe
Joe,

I am saying that you can have half a pixel inside a canvas and half a pixel outside a canvas because the center of the pixel is drawn along the coordinate. A coordinate is not 1 pixel. Whole coordinates are 1 pixel apart.

How AM and the GPU handle that is another matter.

If you want to draw a 1 pixel line on the inside of the parameter edge of a canvas, then you have to move the x and y coordinates by HALF A PIXEL (0.5) . So x(0.5), y(0.5) and the width and height 1 pixel less than the canvas width and height. This would give a perfect 1 pixel boarder to the canvas. But drawing the 1 pixel boarder on a canvas with x(0), y(0) will result in AM trying to draw a 1 pixel line where HALF a pixel is outside the canvas and the other HALF is inside the canvas.

This go's for any stroke width. A 2 pixel line would have 1 pixel inside and 1 pixel outside the canvas etc

Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

User avatar
Keith Baxter
Posts: 4685
Joined: Wed Dec 20, 2017 11:00 am
Location: Botswana

Re: Small Feature Errors

#30 Post by Keith Baxter »

Hi,

I think we have to take this one step further.

If we draw a line within a canvas with the parameters where we stroke a 1 pixel line from a coordinate y(5) to y(15), we have a height of 10 pixels.
Question?
How many pixels are drawn, 9, 10 or 11 ?

Answer
11

Reason
Because a pixel is drawn at every coordinate and there are 11. y(5) is the first coordinate and y(15) the last.

So how long is your stroke?
Your stroke is actually 11 pixels long.

So how is AM going to make the stroke 10 pixels long exactly?

Think about it. ;)



Keith
AMD RYZEN 9 5950X CPU, Corsair H80I cooler, ASUS TUF GAMING B550-PLUS AMD Ryzen Mother Board,  32Gb ram Corsair Vengeance 3000Mh, MSI GTX960 4G graphics card 

Post Reply