1. სანამ გავუშვებთ C4.exe-ს მანამდე გავხსნათ Data->Engine->variables.cfg ფაილის ტექსტური რედაქტორით და მოვძებნოთ შემდეგი ხაზი:
2. $applicName = “Game“;
3. შევცვალოთ “Game” “SimpleBall”-ზე (ასე უნდა გამოიყურებოდეს)
$applicName = “SimpleBall“;
4. შევინახოთ ფაილის და გავუშვათ C4.exe
Read more…
C4 Engine
იმის შემდგომ რაც მოვქაჩავთ C4GE-ს აქედან:
Demo 1.4.10
და ამოვარქივებთ, მივიღებთ შემდეგ ფაილებს და დირექტორიებს:

C4.exe არის გამშვები, გაუშვით, აირჩიეთ გრაფიკული ”Setting”-ბი ჩატვირთეთ დემოს მოყოლილი დონეები “New Game”-დან და .ა.შ.
Read more…
C4 Engine
ამ სტატიით ვიწყებ ციკლს C4 Game Engine-ზე (მომავალში C4GE).
ბევრი ძებნის და მრავალი უფასო თუ ფასიანი ე.წ. ”გეიმ ენჯინების” გარჩევის შემდეგ ჩემი არჩევანი ამ სწრაფად განვითარებად და პერპექტიულ ენჯინზე შევაჩერე. C4GE არის ფასიანი, ამჟამად კომერციული ლიცენზია 1 პროგრამისტისთვის არის 350$ (მე როცა შევიძინე ლიცენზია 200$ ღირდა). რაც ჩემი აზრით, იმ თვისებების გათვალისწინებით რაც ენჯინს გააჩნია სრულებით არ არის ძვირი.
Read more…
C4 Engine
გავიხსენოთ რომ OpenMP ნოტაციები ემატება კონკრეტულ ენის პროგრამაში და მიუთითებს როგორ განაწილდეს გამოთვლები სხვადასხვა პროცესებში რომლებიც შესრულდება რამოდენიმე პროცესორზე ან ბირთვზე.
ასევე აღსანიშნავია რომ OpenMP-ს პლუსი ის არის რომ შესაძლებელია ნელნელა დაემატოს უკვე არსებულ კოდს და მოვახდინოთ მისი ოპტიმიზაცია დიდი დანახარჯების გარეშე.
პარალელურ პროგრამირებაში რამოდენიმე მოდელია მიღებული კერძოდ distributed და shared მეხსიერების მოდელებზე დაფუძვნებული გამოთვლები. OpenMP იყენებს ამ უკანასკნელ მოდელს(shared memory). ამაში იგულისხმება რომ პროგრამა შესრულდება 1 ან რამოდენიმე პროცესორზე (ან ბირთვზე) და ამ ბირთვებს(პროცესორებს) რომელთაც წვდომა ექნებათ და პროგრამისთვის გამოყოფილ მთლიან მეხსიერებაზე. Read more…
Uncategorized
ბოლო რამოდენიმე წელია პერსონალური კომპიუტერების უმეტესობამ “აითვისა” 2 და მეტი ბირთვიან პროცესორები. ამის პარალელურად სულ უფრო აქტუალური ხდება პარალელური გათვლები მრავალბირთვიანი პროცესორების გამოყენებით. ბევრი თამამედროვე პროგრამა ოპტიმიზირებულია პარალელურ გათვლებისათვზე და მომავალშიც გაიზრდება ასეთი პროგრამების რიცხვი. კომპიუტერული თამაშებიც მიეკუთვნება ისეთი პროგრამების რიცხვს, სადაც ადვილად შეიძლება პარალელური გათვლების ინტეგრირება. Read more…
Uncategorized
Skydome-ი (ან ”ნახევასფერული” ტიპის ცა) ხშირად გამოიყენება თამაშებში. მოცემულ სტატიაში განვიხილავთ თუ როგორ უნდა გამოვთვალოთ წვეროების(vertex) პოზიციები ,მათ შორის კავშირები(index), გადავაკრათ ტექსტურა და ბოლოს დავხატოთ (იხ. სურათი).
Read more…
OpenGL
picking - გვეხმარება სცენის ობიექტების არჩევაში. სცენის გადახატვის დროს შესაძლებელია სცენის ობიექტებს მივანიჭოთ უნიკალური იდენტიფიკატორები და შემდეგ კლავიატურის ან თაგუნიას დამმუშავებელ ფუნქციაში, მოვითხოვოთ ეს ინფორმაცია, გავარკვიოთ დააწკაპუნა თუ არა ამა თუ იმ სცენის ობიექტზე ან ობიექტებზე მომხმარებელმა.
Read more…
OpenGL
gluUnproject-ი გამოიყენება როდესაც საჭიროა ფანჯრის კოორდინატების გადაყვანა OpenGL-ის კოორდინატებში. მაგალითად, ფანჯარაში თაგუნიას ნებისმიერ ადგილას დაწკაპუნებისას, რომლის კოორდინატებიცაა (X,Y) და gluUnproject ფუნქციის დახმარებით შეგვიძლია ვიპოვოთ შესაბამისი X,Y,Z OpenGL-ის მსოფლიო კოორდინატების სისტემაში. ფუნქციის გამოძახებამდე დაგვჭირდება რამოდენიმე მნიშვნელობის წაკითხვა. პირველი ესაა ე.წ. სახატავი არე (viewport). სახატავი არე ესაა, 4 კომპონენტიანი ვექტორი. 1-2 კოორდინატა აღნიშნავს სახატავი არის დასაწყისს, და 3-4-ე კი, სიგრძე და სიგანეს. სახატავი არის მნიშვნელობის წაკითხვა შეგვიძლია შემდეგნაერად:
Read more…
OpenGL
როგორც ცნობილია ნებისმიერი ფერი 3 ძირითადი ფერის კომბინაციით მიიღება, ესენია წითელი (R), მწვანე(G), ლურჯი (B). OpenGL-შიც ფერის არჩევისას ფერები შეგვიძლია ამ ფორმატით RGB მივუთითოთ, მაგალითად glVertex3d(255,0,0); - მივიღებთ სუფთა წითელ ფერს. მაგრამ არსებობს ფერის დანიშვნის ოპერატორები ( მაგ. იგივე glVertex4d(255,0,0,0.5f) ) შეიცავენ 4 კომპონენტას ანუ RGB-ფორმატს ემატება კიდევ ე.წ. ”ალფა” ანუ გამჭირვალობის კოეფიციენტი RGBA. Read more…
OpenGL
OpenGL-ის დახმარებით შესაძლებელია სრულფასოვანი თამაშების, სამეცნიერო და გასართობი გრაფიკული პროგრამების და ა.შ. წერა. როგორც წესი ასეთი პროგრამები OpenGL-ს მიაწვდიან გეომეტრიულ ინფორმაციას სხვადასხვა პროგრამის ობიექტებზე, რის შემდეგაც ხდება მათი დახატვა მონიტორზე. გეომეტრიული ინფორმაცია ესაა წვეროების კოორდინატების და მათ შორის კავშირების(ინდექსები) ერთობლიობა. მიუხედავად იმისა თუ რას ვხატავთ მოცემულ მომენტში, გაშლილ სივრცეს 1000 მოძრავი ობიექტით თუ ცალკეულ ოთახს ან სულაც რაიმე მარტივ ფიგურას, OpenGL-ი ამ ინფორმაციას ”ხედავს” როგორც ე.წ. გეომეტრიული პრიმიტივების ერთობლიობას. OpenGL-ში განსაზღვრულია სულ 10 გეომეტრიული პრიმიტივი, ესენია:
Read more…
OpenGL