['   \n  \n [\'#include <stdint.h> \\n #include <stdio.h> \\n #include <stdlib.h> \\n\\ntypedef uint8 _ t ਬੂਲ;\\n#define ਸੱਚ 1\\ n#define ਗਲਤ 0\\n\\n #include"/framebuffer. h" "\\n#define f ꯇꯣꯞਿਕਸ (r, g, b, x, y) ((ਪਿਕਸਲ _ t) {(uint8 _ t) (r * 255.0f), (uint8 _ t) (g * 255.0f), (uint8 _ t) (b * 255.0f), x,y}) \\n\\ntypedef ਬਣਤਰ\\n {\\n\\tfloat x, y, z; \\n} ਵੈਕਟਰ3; \\n\\ n#define ꯚꯦਸੀ3 (x, y, z)\\\\n\\t (ਵੈਕਟਰ3) {x, y, z}\\n#define dv3\\ \\n\\t (ਵੈਕਟਰ3) {0,0,0} \\n\\ n#define vv (x)\\\\n\\t (ਵੈਕਟਰ3) {x, x, x} \\n\\ n#define ਜੋਡ਼ (v3A, v3B)\\\\n\\t (ਵੈਕਟਰ3) {v3A.x + v3B.x, v3A.y + v3B.y, v3A.z + v3B.z} \\n\\ n#defineਨੈਗੇਟ (v3)\\\\n\\t (ਵੈਕਟਰ3) {-v3. x,-v3. y,-v3. z} \\n\\ n#define ਸਬ (v3A, v3B) ਐਡ (v3A, ਨੈਗੇਟ (v3B)) \\n\\ n#define ਮਲ (v3A, v3B)\\\\n\\n\\t (ਵੈਕਟਰ3) {v3A.x* v3B.x, v3A.y * v3B.y, v3A.z * v3A.z} \\n\\ n#define ਡਿਵੀ (v3A, v3B)\\\\n\\t (ਵੈਕਟਰ3) {v3A.x/v3B.x, v3A.y/v3B.y, v3A.z/v3A.z} \\n\\ n#defineਲੰਬਾਈ _ ਵਰਗ (v3) v3. x * v3. x + v3. y * v3. y + v3. z * v3. z\\n\\ n#define ਲੰਬਾਈ (v3) sqrt (ਲੰਬਾਈ _ ਵਰਗ (v3)) \\n\\ n#define ਬਿੰਦੂ (v3A, v3B) v3A.x * v3B.x + v3A.y* v3B.y + v3A.z * v3B.z \\n\\ n#define ਕਰਾਸ (v3A, v3B)\\\\n\\t (ਵੈਕਟਰ3)\\\\n\\t {\\\\n\\t\\ tv3A.y * v3B.z-v3A.z * v3B.y, v3A.z * v3B.x-v3A.x * v3B.z,tv3A.x * v3B.y-v3A.y * v3B.x \\n\\ n#define ਯੂਨਿਟ _ ਵੈਕਟਰ (v3) ਡਿਵੀ (v3, vv (ਲੰਬਾਈ (v3))) \\n\\ntypedef ਬਣਤਰ \\n {\\n\\tvector3 ਮੂਲ; \\n\\tvector3ਦਿਸ਼ਾ; \\n} ਰੇਅ; \\n\\nਬੂਲ ਹਿੱਟ _ ਸਫੀਅਰ (ਵੈਕਟਰ3 ਸੈਂਟਰ, ਫਲੋਟ ਰੈਡ, ਰੇ r) \\n {\\n\\tveੈਕਟਰ3 oc = ਸਬ (r.origin, ਸੈਂਟਰ); \\n\\tfloat a =ਲੰਬਾਈ _ ਵਰਗ (r.direction); \\n\\tfloat b = 2 * ਬਿੰਦੂ (oc, r.direction); \\n\\tfloat c = ਲੰਬਾਈ _ ਵਰਗ (oc)-ਰੇਡ * ਰੈਡ; \\n\\tfloat ਭੇਦਭਾਵ = (b * b) -(4 * a * c); \\n\\treturn (ਡਿਸ੍ਕ੍ਰਿਮਿਨੈਂਟ> 0); \\n} \\n\\nvector3 ray _ colour (ray r) \\n {\\n\\tif (ਹਿੱਟ _ ਸਫੀਅਰ (ਵੇਕਸ3 (0,0,-1), 0.5, r)) \\n\\t {\\n\\t\\treturn ਵੇਕਸ3 (1,0,0); \\n\\t} \\n\\tvector3 ਇਕਾਈ _ ਦਿਸ਼ਾ = ਇਕਾਈ _ ਵੈਕਟਰ (r.direction); \\n\\tfloat t = 0.5f * (unit_direction.y + 1.0f); \\n\\tvector3 ਰੰਗ = ꯚꯦਸੀ3 (1.0f * (1.0-t)+ (t * 0.5f), \\n\\t\\t\\t\\t 1.0f * (1.0-t) + (t * 0.7f), 1.0f * (1.0-t) + t); \\n\\treturn ਰੰਗ; \\n} \\n\\nint ਮੁੱਖ (ਖ਼ਾਲੀ) \\n {\\n\\tfloat ਪੱਖ _ ਅਨੁਪਾਤ =16. 0/9. 0; \\n\\n\\tkonst ਇੰਟ ਚੌਡ਼ਾਈ = 400; \\n\\tkonst ਇੰਟ ਉਚਾਈ = (ਇੰਟ) ((ਫਲੋਟ) ਚੌਡ਼ਾਈ/ਪਹਿਲੂ _ ਅਨੁਪਾਤ); \\n\\n\\tfloat ਦ੍ਰਿਸ਼ਟੀਕੋਣ _ ਉਚਾਈ = 2.0; \\n\\tfloatਵਿਊਪੋਰਟ _ ਚੌਡ਼ਾਈ = ਆਸਪੈਕਟ _ ਅਨੁਪਾਤ * ਵਿਊਪੋਰਟ _ ਉਚਾਈ; \\n\\tfloat ਫੋਕਲ _ ਲੰਬਾਈ = 1; \\n\\tvector3 ਮੂਲ = ਵੇਸੀ3 (0,0,0); \\n\\tvector3 ਲੋਅਰ _ ਲੈਫਟ _ ਕਾਰਨਰ =ਵੀ. ਸੀ. 3 (-(ਵਿਊਪੋਰਟ _ ਚੌਡ਼ਾਈ/2),-(ਵਿਊਪੋਰਟ _ ਉਚਾਈ/2), ਫੋਕਲ _ ਲੰਬਾਈ); \\n\\n\\twindow _ t * ਵਿੰਡੋ = ਬਣਾਓ _ ਵਿੰਡੋ (ਚੌਡ਼ਾਈ, ਉਚਾਈ, "ਆਰ. ਟੀ. ਫਿਸ਼"); \\n\\tif(! ਵਿੰਡੋ) \\n\\t {\\n\\t\\tprintf ("ਵਿੰਡੋ ਨਹੀਂ ਬਣਾ ਸਕਿਆ।"); \\n\\t\\treturn 0; \\n\\t} \\n\\tuint8 _ t ਨਿਕਾਸ = 0; \\n\\n\\twhile (! ਨਿਕਾਸ) \\n\\t {\\n\\t\\tclea \'] ', '#include <stdint.h> #include <#include <stdlib.h> ਟਾਈਪਡੇਫ uint8 _ t ਬੂਲ; #define ਸਹੀ 1 #define ਗਲਤ 0 #include "ਸ਼ਾਮਲ/ਫਰੇਮਬਫਰ. h"#define f ꯇꯣꯞਿਕਸ (r, g, b, x, y) ((ਪਿਕਸਲ _ t) {(uint8 _ t) (r * 255.0f), (uint8 _ t) (g * 255.0f), (uint8 _ t) (b * 255.0f), x, y}) ਟਾਈਪਡੇਫ ਸਟਰਕਟ {ਫਲੋਟ x, y, z;}ਵੈਕਟਰ3; #define ਵੇਕਸ3 (x, y, z)\\(ਵੈਕਟਰ3) {x, y, z} #define dv3\\ (ਵੈਕਟਰ3) {0,0,0} #define vv (x)\\(ਵੈਕਟਰ3) {x, x, x} #define ਸ਼ਾਮਲ ਕਰੋ (v3A, v3B)\\ (ਵੈਕਟਰ3) {v3A.x + v3B.x, v3A.y + v3B.y, v3A.z + v3B.z} #define ਨੈਗੇਟ (v3)\\(ਵੈਕਟਰ3) {-v3. x,-v3. y,-v3. z} #define ਸਬ (v3A, v3B) ਐਡ (v3A,ਨੈਗੇਟ (v3B)) #define ਮੁਲ (v3A, v3B)\\(ਵੈਕਟਰ3) {v3A.x * v3B.x, v3A.y * v3B.y, v3A.z * v3A.z} #define ਡਿਵੀ (v3A, v3B)\\(ਵੈਕਟਰ3) {v3A.x/v3B.x, v3A.y /v3B.y, v3A.z/v3A.z} #define ਲੰਬਾਈ _ ਵਰਗ (v3) v3. x * v3. x + v3. y * v3. y + v3. z * v3. z #define ਲੰਬਾਈ (v3) sqrt (ਲੰਬਾਈ _ ਵਰਗ (v3)) #define ਬਿੰਦੂ (v3A,v3B) v3A.x * v3B.x + v3A.y * v3B.y + v3A.z * v3B.z #define ਕਰਾਸ (v3A, v3B)\\(ਵੈਕਟਰ3)\\{\\v3A.y * v3B.z-v3A.z * v3B.y, v3A.z * v3B.x-v3A.x * v3B.z, \\v3A.x * v3B.y-v3A.y * v3B.x\\} #define ਯੂਨਿਟ _ ਵੈਕਟਰ (v3) ਡਿਵੀ (v3, vv (ਲੰਬਾਈ (v3))) ਟਾਈਪਡੇਫ ਸਟਰਕਟ {ਵੈਕਟਰ3 ਮੂਲ; ਵੈਕਟਰ3 ਦਿਸ਼ਾ;} ਰੇ; ਬੂਲਹਿੱਟ _ ਸਫੀਅਰ (ਵੈਕਟਰ 3 ਸੈਂਟਰ, ਫਲੋਟ ਰੈਡ, ਰੇ r) {ਵੈਕਟਰ 3 oc = ਸਬ (r.origin, ਸੈਂਟਰ); ਫਲੋਟ a = ਲੰਬਾਈ _ ਵਰਗ (r.direction); ਫਲੋਟ b = 2 * ਡਾਟ (oc,r.direction); ਫਲੋਟ c = ਲੰਬਾਈ _ ਵਰਗ (oc)-ਰੇਡ * ਰੈਡ; ਫਲੋਟ ਡਿਸਕਰੀਮਿਨੈਂਟ = (b * b)-(4 * a * c); ਵਾਪਸੀ (ਡਿਸਕਰੀਮਿਨੈਂਟ> 0);} ਵੈਕਟਰ3 ਰੇਅ _ ਕਲਰ (ਰੇਅ)r) {ਜੇਕਰ (ਹਿੱਟ _ ਸਫੀਅਰ (ਵੇਕਸ3 (0,0,-1), 0.5, r))) {ਰਿਟਰਨ ਵੇਕਸ3 (1,0,0);} ਵੈਕਟਰ3 ਯੂਨਿਟ _ ਦਿਸ਼ਾ = ਯੂਨਿਟ _ ਵੈਕਟਰ (r.direction); ਫਲੋਟ t = 0.5f *(unit_direction.y + 1.0f); ਵੈਕਟਰ3 ਰੰਗ = ਵੇਕਸ3 (1.0f * (1.0-t) + (t * 0.5f), 1.0f * (1.0-t) + (t * 0.7f), 1.0f * (1.0-t) + t); ਰਿਟਰਨ ਰੰਗ;}ਇੰਟ ਮੇਨ (ਵੋਇਡ) {ਫਲੋਟ ਐਸਪੈਕਟ _ ਰੇਸ਼ੋ = 16.0/9.0; ਕਾਂਸਟ ਇੰਟ ਚੌਡ਼ਾਈ = 400; ਕਾਂਸਟ ਇੰਟ ਉਚਾਈ = (ਇੰਟ) ((ਫਲੋਟ) ਚੌਡ਼ਾਈ/ਐਸਪੈਕਟ _ ਅਨੁਪਾਤ); ਫਲੋਟ ਵਿਊਪੋਰਟ _ ਉਚਾਈ= 2; ਫਲੋਟ ਵਿਊਪੋਰਟ _ ਚੌਡ਼ਾਈ = ਆਸਪੈਕਟ _ ਅਨੁਪਾਤ * ਵਿਊਪੋਰਟ _ ਉਚਾਈ; ਫਲੋਟ ਫੋਕਲ _ ਲੰਬਾਈ = 1; ਵੈਕਟਰ 3 ਮੂਲ = ਵੀਸੀ 3 (0,0,0); ਵੈਕਟਰ 3 ਲੋਅਰ _ ਲੈਫਟ _ ਕਾਰਨਰ =ਵੀਸੀ3 (-(ਵਿਊਪੋਰਟ _ ਚੌਡ਼ਾਈ/2),-(ਵਿਊਪੋਰਟ _ ਉਚਾਈ/2), ਫੋਕਲ _ ਲੰਬਾਈ); ਵਿੰਡੋ _ ਟੀ * ਵਿੰਡੋ = ਬਣਾਓ _ ਵਿੰਡੋ (ਚੌਡ਼ਾਈ, ਉਚਾਈ, "ਆਰਟੀਫਿਸ਼"); ਜੇਕਰ (! ਵਿੰਡੋ) {ਪ੍ਰਿੰਟ ਐੱਫ ("ਵਿੰਡੋ ਨਹੀਂ ਬਣਾ ਸਕਿਆ।"); 0 ਵਾਪਸ ਕਰੋ;} uint8 _ t ਨਿਕਾਸ = 0; ਜਦੋਂ ਕਿ (! ਬਾਹਰ ਨਿਕਲੋ) {ਕਲੀਆ \n ']