Questions tagged [software-rendering]

Software rendering refers to a rendering process that is unaided by any specialized graphics hardware.

0
votes
1answer
278 views

View “distortion” or “stretching” when looking up/down? (Software renderer)

I'm not sure distortion is the right way to describe this. I've uploaded a video to show you guys. Apologies if it's long, but I wanted to show the code as well as posting it here. https://youtu.be/...
0
votes
1answer
160 views

Software and Hardware Rendering

From what I understand, the main difference between software rendering and hardware rendering is that in software rendering you use the CPU to determine what to color each pixel, and in hardware ...
0
votes
1answer
216 views

How to map intensity from dot product to float RGB from 0 to 1?

I'm getting the dot product of the surface normal and light position. The weird thing is the dot product is larger than 1. Also, I want to map that intensity from 0->1 to Float RGB from 0->1. Here is ...
1
vote
1answer
210 views

Isometric painter's algorithm problem

Note: I dont use tiles, I use 3D Polygons :) I'm currently working on a real-time renderer for scanned real life objects. My main goal is to have an isometric viewer with the simple ability to rotate ...
1
vote
0answers
90 views

Perspective correct interpolation of normal values

I'm currently writing a software rasterizer and I'm at the point where I can draw arbitrary triangles with vertex colors and perspective correct texture mapping. I do point and directional lighting by ...
0
votes
1answer
68 views

Batching in Java (software rendering)

I've watched some tutorials on java game development and when they start using spritesheets all they do is get a subimage out of the spritesheet and create a new BufferedImage out of that. Does java ...
10
votes
2answers
677 views

Details of what GPU actually do when clipping in 4D homogeneous space?

I am learning programmable rendering pipeline by implementing a tiny software renderer. I try to implement it in a 'hardware' style. However, I am not familiar with the GPU pipeline and got some ...
24
votes
7answers
9k views

What advantage do OpenGL, SFML and SDL have over software rendering?

I started watching the Handmade Hero stream, where Casey Muratori creates a game engine without using frameworks or such. Yesterday I got to the part where he showed how an image is drawn onto the ...
1
vote
0answers
84 views

Techniques of graphics rendering with single CPU core? [closed]

I am interested in methods of 2d and 3d rendering using single thread on an average CPU (e.g. for programming games for old and low-end PCs). While I usually have no performance problems when using ...
0
votes
1answer
797 views

How can I rasterize 3D triangles in software?

I am creating a 3D software renderer, and I have a wire frame cube rendering. Now I am working on solid color rendering and I am wondering what an efficient algorithm for shading the contents of the ...
5
votes
2answers
976 views

Best way of writing pixel manipuliting-intensive applications with OpenGL/Direct3D

Recently I have been making little experiments with engines similar to old Wolfenstein 3D, Doom and Build, engines where the 3D rendering is entirely done in software and therefore you need full ...
3
votes
1answer
343 views

What is FOVx in this diagram?

a beginner game developer here. I have recently taken upon learning about 3D game development and I am stuck on a simple matrix problem. The image is found from this article: http://www.codinglabs....
7
votes
2answers
3k views

Pure OpenGL software rendering

For training a machine learning algorithm, we need to render some geometry in OpenGL without any hardware rendering support (no graphics card). So we were thinking of rendering in pure software, and ...
1
vote
1answer
287 views

projection / view matrix: the object is bigger than it should and depth does not affect vertices [closed]

I'm currently trying to write a C 3D software rendering engine from scratch just for fun and to have an insight on what OpenGL does behind the scene and what 90's programmers had to do on DOS. I have ...
7
votes
3answers
4k views

What is Windows' software rendering API?

We usually use OpenGL or DirectX to work with the GPU. If I want to use the CPU to render 2D/3D graphics, how does it work and what API can I use for it on Windows? I know there is no benefit in ...
12
votes
4answers
32k views

Why would you use software rendering over hardware rendering, today?

As opposed to CPU or software rendering I assume? Wouldn't generally all current rendering be GPU based, seeing as you would be using OpenGL or Direct X? Could someone give me some info here, can't ...
5
votes
1answer
785 views

UV interpolation is wrong with a wide FOV

How should I take FOV into account when interpolating UV coordinates? This picture shows the result today. Everything works fine with a narrow fov, but when I make it really wide, things deviate. The ...
1
vote
1answer
170 views

How can I programatically determine if I can create a hardware D3D device?

I have a D3D 11 application to which I would like to add support for software rendering. This is because in some circumstances it will be run on over remote desktop or on machines without GPUs. From ...
3
votes
1answer
898 views

How does the Direct3D 9 rasterizer determine triangle coverage?

I'm working on a software rasterizer to use in my project. I have implemented one that works well, however, often my rasterizer under or overestimates triangle coverage. I need perfect emulation of ...
5
votes
1answer
2k views

How does a segment-based rendering engine (as in Descent) work?

As far as I know Descent was one of the first games that featured a fully 3D environment, and it used a segment based rendering engine. Its levels are built from cubic segments (these cubes may be ...
2
votes
2answers
482 views

How scanline rendering finds an intersection with an object

I'm a newbie with graphics and after I read many articles on the web I still don't understand how in rasterizing from a pixel coordinate like (0;0) on the screen the intersection with an object (let's ...
2
votes
2answers
501 views

Is there a 3d animation software that prioritizes working with code rather than GUI? [closed]

All of the 3D animating softwares I've faced are centered around using GUI to work: windows, menus, mouse clicks, mouse adjustments, keyboard shortcuts. As a programmer, I find that limiting. In order ...
1
vote
1answer
850 views

backface culling error (in world space)

I write simple software renderer. In my pipeline I have stage of backface culling. But looks like it has some error. I perform culling right after world transformation (is it correct?). ...
1
vote
1answer
1k views

Fast software color interpolating triangle rasterization technique

I'm implementing a software renderer with this rasterization method, however, I was wondering if there is a possibility to improve it, or if there exists an alternative technique that is much faster. ...
2
votes
1answer
1k views

Software rendering 3d triangles in the proper order

I'm implementing a basic 3d rendering engine in software (for education purposes, please don't mention to use an API). When I project a triangle from 3d to 2d coordinates, I draw the triangle. However,...
6
votes
2answers
2k views

UV texture mapping with perspective correct interpolation

I am working on a software rasterizer for educational purposes and I am having issues with the texturing. The problem is, only one face of the cube gets correctly textured. The rest are stretched ...
10
votes
1answer
3k views

Depth interpolation for z-buffer, with scanline

I have to write my own software 3d rasterizer, and so far I am able to project my 3d model made of triangles into 2d space: I rotate, translate and project my points to get a 2d space representation ...
0
votes
1answer
2k views

SDL and software/hardware rendering. How to go about it?

I know that SDL 1.2 does software rendering (CPU) and not hardware rendering (GPU). My question is, how do I use SDL but with hardware rendering? How do I not use its rendering API (software) and ...
1
vote
1answer
147 views

Quake d_draw.s versus d_draw16.s

I decided to write my first Quake source port, but I'm a bit confused. There are 2 rasterization code files: d_draw.s and d_draw16.s. The first is, as John Carmack said, horizontal 8-bpp span-...
2
votes
2answers
17k views

Forcing a game to use Direct3D WARP

I am making a study for a research project that involves measuring the performance and quality impact of rendering 3d games using a software rasterizer (like WARP). I wonder if there is a way to ...
5
votes
2answers
3k views

How does a BSP tree work for Z sorting?

I'm developing a 3D engine in software, and so I must compute Z sorting manually. I'm currently using the painter's algorithm to sort triangles and then drawing them back-to-front. This causes ...
15
votes
3answers
9k views

How is software rendering done?

I would like to explore realtime software based rasterization. I know everything is going towards the GPU these days but there are a few games where it still makes sense to use a software renderer. ...