New Graphics Library in C (Olive.c Ep.01)

preview_player
Показать описание
References:
Рекомендации по теме
Комментарии
Автор

i just wanted to say you are just an amazing communicator. funny, smart, humble. like the opposite of those “get a job at google in 2 weeks with my training program” tech bros. i’ve been watching your vids for a while now and i think we kind of work a similar way, lol. anyways, thanks for all the entertainment

bandaloo
Автор

i love watching tsoding slowly descending into insanity

cozerian
Автор

One way to improve the performance of drawing circles is, for each horizontal line, compute the X offset of the start and end of the circle on that horizontal slice.
x_ofs = sqrt(r^2 - y_ofs^2) ;
Then fill pixels between (center - x_ofs) and (center + x_ofs) those two points. Or call memset(). One sqrt per line, rather than per pixel.

DFPercush
Автор

Always a pleasure to follow your C project.

e
Автор

Damn im Hyped, its like there is such an overwhelming amount of possibilities when it comes to graphics and gui, when there is a c library that is featured by tsoding, you gonna know its worth learning. Thanks Tsoding!

maxheim
Автор

Hope this won't be abandoned, actually poggers.

hanqnero
Автор

I am not a programmer, was just writing some little projects in c++ from time to time, this video kinda makes me want to try C this time, looks fun

Mushele
Автор

I'm so happy YT suggested your channel to me! Your content is super instructive and enjoyable. Keep up with the good work!

DaviSimDoP
Автор

Lol, I speak Ukrainian and I wouldn't've guessed the secret meaning until you explained it. I guess my brain just switches to a different mode when things are in a different language.

peezieforestem
Автор

There is Bresenham's line algorithm to draw lines without using float numbers

KeHek
Автор

This is very high level programing skill, it's funking impressive. As a c++ programmer who is don't feel to learn fast enought, this video it very interesting !! thx

lolix
Автор

I love that you programming red rectangle for 40 minutes and then you say: "It's cool. It's pretty cool." and I'm like: "Not bad. Not bad actually."

How is simple red rectangle written in C can be so... mesmerizing for us, programmers, is the question for me. It's a miracle beyond common sense.

evlogiy
Автор

Thank you for sharing. This is one of the things on my programming bucket list. Definitely going to try doing it in Ada. Please provide donation link in description so I can show my appreciation as I can't join live stream.

jeezusjr
Автор

Amazing Tsoding 👏🏻👏🏻👏🏻👏🏻 one Idea for futures vídeos - implement your own image file format !

luandkg
Автор

minifb together with olive.c is like a match made in heaven.

thecodingfoundation
Автор

I knew this was coming giving all the recent graphics related Tsoding sessions

خالد_الشيباني
Автор

As someone who knows all the ex-yu languages, pencil is Olovka, there is no c character, that google translate is completly wrong. Olivec does not have a meaning in any of them, but clever name, none the less. Fun fact, Olive the fruit is called Maslina.

darkodj
Автор

Really good video, but I cannot agree with statement that custom structures which encapsulate data specific to canvas and shapes makes the library less generic. In fact when you expose functions to user of the library you already enforce the user to lead the contract defined by functions declarations. You already predefine the types and variables which the user should prepare before using your functions and if the user have own structures as it was mentioned in your example, the user should translate them to be compatible with the interface of your library (which is absolutely normal). This is the reason why adding of custom structures do not have any influence on the level of "genericity" of your library. But such custom structs have some valuable advantage - it makes client code more explicit and readable. With such structures you firstly prepare them in explicit and obvious for anyone way and after that you pass this prepared data to the functions, which is cleaner than passing 7 arguments to the function and simultaneously making some additional math on part of them. The second advantage is that you can reuse canvas or shapes in convenient way. In my opinion from this point of view the design which you chose is unfinished, you define the interface, but do not encapsulate it parts to entities, where each entity is responsible for some abstraction necessary to use your library.

imyosha
Автор

the old days before google were miserable. It sure is great having the ability to look up anything at anytime

steve
Автор

I noticed that you keep a list of references at the beginning of your videos. Are those references what you found during the research of your project? I am curious because I think that is pretty neat and organized. I'm thinking I should do something like that as well, because I tend to lose the information that I found during the research phase of my project once I finish it...

alexw