Загрузка видео...

Не удалось загрузить видео

На главную

Let me explain what I'm doing here for those who are interested. I've been building a retro-style D3D12 game engine from scratch, and recently implemented a "Spatial Compression" effect. Essentially its a technique that makes distant geometry appear larger than standard perspective projection would, giving scenes a telephoto compression...

47,246 просмотров • 3 месяцев назад •via X (Twitter)

Комментарии: 0

Нет доступных комментариев

Здесь появятся комментарии из оригинального поста

Похожие видео

Everything far away in a game engine can feel small, flat, and washed out. That is correct perspective, but it can make for some poor scenery sometimes. Two features I've added to my engine try to fight against that: Spatial Recession magnifies the distance. After a vertex is projected I push its screen position outward from center. Near geometry is untouched. It only moves x and y, never depth, so nothing sorts differently and nothing z-fights. The result is a long lens bolted onto the far half of a wide one: the tower and the ridgeline loom instead of receding, while I keep the wide field of view I actually play in (FOV is identical in both of these examples). Dimensional Falloff is four distance ramps on the surface itself. Lighting contrast flattens so distant hills stop having a hard lit side and a hard dark side, which is what haze does in real life. Color then desaturates toward its own brightness to fake more distance. Then that desaturated color is pushed, and that is the one doing most of the visible work here. Last is texture detail, with a custom MIP value based on distances. All of it keys off real radial distance from the camera rather than depth This is so it stays put when you turn your head. Performance cost is next to nothing. The recession is two lines in the vertex shader. The falloff is a few lerps at the end of the pixel shader, which was already computing that distance for the mip bias anyway. Quite happy with the results, what do you think? #gamedev

Analog Dream Dev

84,807 просмотров • 16 дней назад

🧑‍🏫 How to make a glass/refraction shader: 🍷 Refraction will ultimately have the effect that whatever is behind your mesh should appear distorted by the surface of the mesh itself. We're not going for external caustics projection, just modelling glass-like, distorting "transparency". 🌆 In Unity, you can sample the *global* _CameraOpaqueTexture (make sure it's enabled in your URP asset settings), which is what your scene looks like rendered without any transparent objects. In Shader Graph, you can simply use the Scene Colour node. 🔢 The UVs required for this texture are the normalized screen coordinates, so if we offset/warp/distort these coordinates and sample the texture, we ultimately produce a distorted image. We can offset the UVs by some normal map, as well as a refraction vector based on the direction from the camera -> the vertex/fragment (flip viewDir, which is otherwise vertex/fragment -> camera) and normals of the object. 📸 Input the (reversed) world space view direction and normal into HLSL refract. **Convert the refraction direction vector to tangent space before adding it to the screen UV.** Use the result to sample _CameraOpaqueTexture. refract(-worldViewDirection, worldNormal, eta); eta -> refraction ratio (from_IOR / to_IOR), > for air, 1.0 / indexOfRefraction (IOR). IOR of water = 1.33, glass = 1.54... 💡 You can also do naive "looks about right" hacks: fresnel -> normal from grayscale, which can be used for distortion. Or distort it any other way (without even specifically using refract at all), really... 🧠 Thus, even if your object is rendered as a transparent type (and vanilla Unity URP will require that it is), it is fully 'opaque' (max alpha), but it renders on its surface what is behind it, using the screen UV. If you distort those UVs by the camera view and normals of the surface it will be rendered on, it then appears like refractive glass on that surface. > Transparent render queue, but alpha = 1.0.

Mirza Beig

125,253 просмотров • 1 год назад

You finally get to see the scene that was never supposed to exist. 👀 Made with Pollo AI 365 days of unlimited MiniMax H3. No extra credits, no limits just create. Prompt: Vertical 9:16 smartphone vlog, shot on iPhone 17 Pro. ONE SINGLE UNINTERRUPTED HANDHELD TAKE, ~30 seconds, no cuts, no editing — every transition happens only through the vlogger panning, tilting, zooming or walking. Brisk, snappy pacing: quick whip pans, each beat lands in a few seconds, the camera never lingers. Sunny daytime New York City street >> — brick facades, fire escapes, a sidewalk café, parked cars. The filming style is the core of the video: natural hand micro-shake and walking bounce, slightly floaty digital stabilization, deep focus with everything sharp — no cinematic bokeh, no film look, no color grading. Natural HDR daylight, sky highlights slightly clipped, auto exposure and white balance visibly re-adjusting on every pan between shade and sun, quick autofocus hunting on fast pans, digital zoom bringing a slight quality drop and extra shake. Audio: raw street ambience only — traffic, distant horns, footsteps, chatter, wind brushing the mic, plus the live sounds written into the scenes. No music track, no captions, no watermark. IMPORTANT CHARACTER AND POV LOCK: The vlogger is ALWAYS >>. The vlogger is a man, and he remains the same person throughout the entire video. He is the person physically holding and operating the single camera. He is NEVER replaced by any other reference character. Reference images used in individual scenes describe ONLY the people or animals appearing in that specific scene, unless explicitly stated otherwise. The vlogger’s phone IS the camera — it never appears on screen, and he never holds a second phone or any other device. When the front camera is active, the viewer sees the vlogger himself in selfie view. When the rear camera is active, the viewer sees ONLY the environment and subjects in front of him from his physical walking POV. The phone itself is NEVER visible. This is a continuous real-world camera transition, not a cut. 0:00–0:05 — FRONT CAMERA / SELFIE POV: The vlogger >> films himself at arm’s length while walking down the sidewalk. His face is a touch overexposed by daylight. He starts excitedly: “Guys! I just—” Behind his shoulder, a couple walking the opposite way passes right beside him. A beat later, the guy >> stops and turns back, head over his shoulder, staring straight at the vlogger — matching the reference pose. His girlfriend >>, still gripping his hand, glares at him in outraged disbelief, mouth open. They hold the exact reference tableau. His stare reads odd and unreadable, NOT flirty. The vlogger sees them in his own selfie frame, cuts himself off mid-word and reacts instantly without breaking stride: “…What was that?” He keeps walking. 0:05–0:09 — FLIP TO REAR CAMERA / VLOGGER’S PHYSICAL POV: WITHOUT CUTTING, the vlogger physically flips the phone from front camera to rear camera. The camera itself is never visible. The image transitions naturally from selfie view into the rear-camera view of exactly what is in front of him. He immediately WHIPS the rear camera to the RIGHT toward a sidewalk café. By the entrance, a guy >> stands at a microphone on a stand, with a small speaker beside him looping a soft instrumental backing. He leans toward the microphone, takes a breath to sing the first line — and suddenly bursts out laughing instead, turning away and covering his mouth. He waves it off, then resets toward the microphone. The vlogger laughs quietly behind the camera. 0:09–0:13 — REAR CAMERA / CONTINUOUS POV: WITHOUT CUTTING, the vlogger continues physically panning RIGHT along the same café terrace. At one table, a woman >> is mid-meltdown — crying, shouting, jabbing an accusing finger across the terrace — while her friend >> leans in and holds her back. The camera then makes a QUICK PUNCH-IN DIGITAL ZOOM toward the opposite table. The cat >> sits upright behind a plate of salad, perfectly calm and completely unimpressed by the chaos. Autofocus hunts for a split second during the zoom. The vlogger continues walking. 0:13–0:17 — REAR CAMERA / FIRST SHOW THE MAN, THEN FOLLOW HIS GAZE UP: WITHOUT CUTTING, the camera moves slightly farther along the sidewalk and FIRST frames the man >> standing on the street near the building. IMPORTANT: The man >> is NOT the vlogger. He is a separate person standing in the environment. He is NOT holding the camera, NOT filming himself, and NEVER becomes the POV character. The camera clearly shows his full upper body as he stands below the building, looking UP toward the second floor. His head is tilted upward and his eyes are visibly directed toward something above him. The vlogger notices what the man is looking at and physically follows his gaze. The camera then TILTS UP from the man’s position toward the brick facade directly above the café awning, naturally following the man’s line of sight. The movement must clearly communicate: MAN LOOKS UP → CAMERA FOLLOWS HIS GAZE → WINDOW ABOVE. A second-floor open window comes into view, with a fire escape beside it. The dog >> is sitting in that window with its eyes closed, chin lifted, peacefully soaking up the warm golden sunlight hitting the facade. IMPORTANT: >> is ONLY the DOG. The dog is inside the upper window. It is NOT the vlogger and NOT a human character. The camera performs a QUICK DIGITAL ZOOM toward the dog. The image becomes slightly softer and shakier from the digital zoom. Hold only long enough to clearly reveal the dog enjoying the sunlight. The vlogger reacts behind the camera: “Awww, look at him…” 0:17–0:21 — REAR CAMERA / RETURN TO STREET LEVEL: WITHOUT CUTTING, the camera tilts back DOWN from the dog and window to street level, returning to the same sidewalk. The camera then swings FORWARD toward a few steps ahead on the same sidewalk, where the man from >> is standing. IMPORTANT: >> is a SEPARATE STREET CHARACTER. He is NOT the vlogger. He does NOT hold the camera. He does NOT interact physically with the vlogger. The vlogger is only observing him from behind the camera while walking past. The man wears the black leather jacket and black pants shown in the reference. He is standing on the sidewalk making an exaggerated “thinking / knowledge” gesture with his index finger touching or pointing toward his temple, matching the reference pose. He is NOT standing together with the vlogger. Maintain visible physical distance between the vlogger and this man. The vlogger walks past him while keeping the rear camera briefly trained on him and half-laughs: “What is going on?” 0:21–0:24 — REAR CAMERA / WHIP LEFT ACROSS THE ROAD: WITHOUT CUTTING, the vlogger whips the rear camera to the LEFT, across the two-lane road, toward a sedan parked at the opposite curb. Shaky digital zoom toward the driver’s window. A man >> sits behind the wheel, one hand draped over the top of the steering wheel. He stares directly into the rear-camera lens with a heavy, unblinking, suspicious expression. His eyes slowly track the vlogger as the vlogger walks past. The vlogger says flatly from behind the camera: “…What is his problem?” 0:24–0:30 — REAR CAMERA → FRONT CAMERA → REAR CAMERA: WITHOUT CUTTING, the camera swings back FORWARD toward the corner of the block. Ahead, a child >> is sitting sideways near the roadside, holding a coffee cup and looking toward the camera. The child is a completely separate background character and is NOT the vlogger. The vlogger continues WALKING TOWARD the child. As he gets closer, he performs a QUICK DIGITAL ZOOM. The child looks toward the camera, casually raises the coffee cup and takes a small SIP while looking at the camera. Keep the child as the only visual focus. Natural spontaneous behavior. Immediately after the child's sip, the vlogger physically FLIPS the phone from rear camera to FRONT CAMERA. This is a real camera flip, not a cinematic cut. The phone itself remains invisible. Says: “I can’t believe this”. The take ends naturally mid-walk, still handheld, still continuous, with NO CUT and NO EDIT.

Kashberg

17,892 просмотров • 18 дней назад

** Sega Genesis 3D engine update 8.5 ** A smaller update - Scrolling left or right of the sprite based background is implemented along with X camera shifting of the 3d plane. The Exodus emulator has been used with sprite boxing enabled so you can see the background sprites making up the object ( their outlines ) and how they move to tilt the image . The background is made up of 112 sprites (51 are multiplexed in that number as the Genesis is limited to 80 without mulitplexing eg basically re-using sprite hardware as the screen is being drawn ) . In a 6 x 17 sprite grid of 16x32 pixel high sprites. If the tilt affect was not neccessary or only 1/2 the angle of tilt effect was needed, I could get away with 1/2 the number of sprites and just used 32x32 sprites instead. I think the tilt effect adds a bit to movement however. This is very similar to how a Neo Geo would build its backgrounds up - in 16 pixel strips however its sprites are tall as the screen or more but the concept of making backgrounds up in 16 pixel wide strips is similar. The NG uses sprites to build any background layers required. Here on the Genesis the reason is rendering is much faster using both the 3d planes and using a total sprite background for this engine. Initially i had a lot of things breaking when I tried to move the camera in the X dimension much , as i'd optimised the vertex transform path heavily and once beyond a certain camera offset the X value was wrapping around causing a lot of breakage in the rendering. Thankfully solved that issue without marginal impact to cpu . It still needs work , perspectives are a bit wrong etc but it won't be hard to fix. Also found some rendering speeds ups, about 8% by optimising fully onscreen quads and optimising the clearing of the frame buffers more efficiently. Toni Gálvez - Megastyle - BG. has been hard at work on HUD elements and more 3d models so will have something to show for that soon. #SGDK #SegaMegadrive #SegaGenesis

Shannon Birt

21,468 просмотров • 1 месяц назад

Interesting turn of events with Nancy Guthrie case (mother of NBC host kidnapping) The woman the FBI got the Nest camera footage from didn’t have a Premium subscription Yet without a subscription, even being disabled, it was able to record and store footage “We are tracked, they are listening, they are watching, we are being recorded” What’s happening is even if you don’t have a subscription Google is recording and storing the footage from your doorbell camera, but you can only access it without a subscription You think it’s not being recorded and stored, but it is…. Even with the camera disabled, it was recording footage and able to be recovered… “Nancy Guthrie had a Nest camera, which is owned by Google, and law enforcement initially believed the doorbell footage was lost and said Nancy Guthrie did not have a premium subscription to access video from her doorbell camera — Now, according to Google, if a Nest camera is disabled, it can still record up to three hours of event video history without a subscription. So many are wondering, why did it take so long for this video to be released? Well, it takes time for authorities to basically recover this video from Google servers, since Nancy Guthrie did not have a premium subscription that offers special features for video history. And essentially, video is continuously recorded and saved with a subscription, but without a subscription, video is saved until it's overwritten. In this case, they thought because there was no subscription, it would have been erased and recorded over because it would be sort of a continuous situation. And then that's the real issue here. Look, we live in a surveillance economy and as much as we'd like to think that we can delete things and things will go away, and there are some apps that in fact make things go away, the truth of the matter is that we are tracked, They are listening, they are watching, we are being recorded.”

Wall Street Apes

255,091 просмотров • 7 месяцев назад

Mistral AI Releases Robostral Navigate: An 8B Model Enabling Robots to Navigate Complex Environments Hitting 76.6% on R2R-CE With One RGB Camera. No LiDAR. No depth sensor. No multi-camera rig. Here's how it works. 👇 1. Pointing, not metric commands The model predicts the pixel coordinates of the next target in the camera view, plus the arrival orientation. Working in pixel space keeps it robust to camera intrinsics and world scale. When the target leaves the frame, it falls back to local displacements ("2m forward, 1.5m left, turn 25°"). 2. Grounding-first No open-source VLM base. It starts from Mistral's grounding model (pointing, counting, localization). Navigation emerges once the model knows where things are. → ~400,000 trajectories across 6,000 simulated scenes 3. Prefix-caching for training A tree-based attention mask packs a full episode into one sequence — all time steps in a single forward pass. → 22× fewer training tokens; months of training done in days 4. Online RL on top After supervised training, CISPO adds trial-and-error learning to fight distribution shift from behavior cloning. → +3.2% success rate from RL alone 5. The numbers (R2R-CE, Matterport3D) → 76.6% success on validation unseen → +9.7 pts over best single-camera approach → +4.5 pts over best depth/multi-camera system The key takeaway: state-of-the-art continuous VLN without a sensor stack — grounding-init, pixel-space actions, prefix-cached SFT, and online RL, on one RGB camera. Full analysis: Technical details: Mistral AI Mistral AI for Developers

Marktechpost AI

39,955 просмотров • 2 месяцев назад