Questions tagged [software-rendering]
Software rendering refers to a rendering process that is unaided by any specialized graphics hardware.
46 questions
0
votes
0
answers
70
views
How do I make my Software 3D Renderer slow down as soon as I change the screen resolution during runtime?
I'm writing a Software 3D Renderer in C many months after I first originally wrote it in Python. It is made using SDL2. My engine currently has depth shading, perspective correct texturing and some ...
2
votes
0
answers
72
views
How do I get this texture mapping for my quad (no triangles) to be perspective correct?
I'm working on a 3D Software Rasterizer and I'm wanting to render textures on walls now. I've tried to do it myself, but failed since it just distorts. I read up on the wikipedia page for Texture ...
0
votes
1
answer
181
views
How do I implement floors and ceilings properly to my DOOM Style Renderer?
I'm working on a tiny DOOM Style Renderer and I've managed to piece together something that can render walls. I pieced it together by looking at videos from 3DSage and The Old School Coder; I got a ...
0
votes
0
answers
89
views
Why do the points of my triangle bend inwards?
I'm trying to make a tiny software renderer in hopes I can make some crappy little game in the far future, and I've hit a roadblock where nothing helps at all. I've found that whenever I go into the ...
3
votes
0
answers
408
views
Avoiding z-fighting when reimplementing Freescape games
I need to avoid z-fighting in exactly co-planar surfaces that are too close to the other solids. I'm re-implementing the Freescape engine in ScummVM (all my code is open-source, available here), and ...
0
votes
0
answers
69
views
texture in perspective by vertices not interpolation
I am writing a software renderer with allegro5, but without using its own triangle drawing functions, I use the al_draw_prim function to draw the triangles but with all the z coordinates at zero, the ...
1
vote
1
answer
235
views
What's the purpose of this cross product and dot product in triangle clipping code?
I have this code that inserts a triangle into the drawing list. The PHD_VBUF structure stores one x,y,z vertex. If the vertex is behind the front plane, then ...
1
vote
1
answer
217
views
Determine if a triangle is on the screen
I am working on a small software renderer, and I want to discard invisible triangles from the drawing process. Let's say I have a screen with resolution of 200x100 pixels. The triangle is defined with ...
0
votes
1
answer
466
views
What's the difference between Unity3D rendering pipeline and OpenGL rendering pipeline?
I wanted to write small software renderer that will follow almost the same flow as OpenGL does, but got stuck with understanding of the rendering pipeline. After reading tons of info across the ...
1
vote
2
answers
298
views
I'm following a tutorial but I don't get the same result; why are the raytraced shadows not working?
I followed this tutorial called "Ray Tracing in One Weekend" by Peter Shirley. And I implemented the java version of it for studying Ray Tracing.
Everything was all right until Diffuse ...
0
votes
2
answers
141
views
Rendering to BufferStrategy gives absolutely no output despite following instructions
I am following this YouTube tutorial by TheCherno to make 3D graphics using Java Standard Library.
Display.java
...
1
vote
1
answer
875
views
How to sort polygons without a depth buffer
Please help me getting understanding how did they sort polygons in old games from the eighties.
They did not use z-buffer or anything like this, thats for sure.
Please look at the screenshot. How ...
4
votes
2
answers
2k
views
How does cube mapping work?
Based on my reading of cube mapping tutorials so far, my understanding is that you need a direction vector, and from the direction vector we can determine the point of intersection with one of the six ...
1
vote
1
answer
149
views
Function to draw an image inside a rectangle
How can I draw an image inside a rectangle?
I am introducing myself in the manipulation of images for games, I have a window and inside there is a rectangle that deforms. I would like to fill the ...
1
vote
1
answer
831
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
1
answer
1k
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
1
answer
415
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 ...
2
votes
1
answer
610
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
0
answers
172
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
1
answer
264
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 ...
13
votes
2
answers
1k
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 ...
26
votes
8
answers
14k
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
0
answers
161
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
1
answer
2k
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 ...
6
votes
2
answers
2k
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
1
answer
1k
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....
8
votes
2
answers
5k
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
1
answer
368
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
3
answers
6k
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 ...
17
votes
4
answers
55k
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
1
answer
1k
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
1
answer
370
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
1
answer
1k
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 ...
6
votes
1
answer
3k
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
2
answers
650
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
2
answers
549
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
1
answer
1k
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
1
answer
2k
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
2
answers
4k
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,...
7
votes
2
answers
3k
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
1
answer
6k
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
1
answer
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
1
answer
225
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-...
3
votes
2
answers
28k
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
2
answers
4k
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
3
answers
11k
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.
...