Giter Club home page Giter Club logo

zbuffer-cpu's Introduction

Introduction
============

Scanline z-buffer algorithm in CPU, as a project of CG course

class CScanLine
{
public:
    CScanLine(int _w, int _h, QImage *_img);

    void setRenderTarget(int _w, int _h, QImage *_img);

    // start create target
    void begin(TargetType _type);
    void end();

    // input
    void vertex3d(double _x, double _y, double _z);
    void color3f(float _r, float _g, float _b); 

    // clear buffer
    void clear(int _target, const Color4u& _c = Color4u(0,0,0,255), double _depth = 1.0);

    // camera related operations, facade design model
    void lookAt(const Vec3d& eye, const Vec3d& at, const Vec3d& up);
    void perspective(double fovy, double aspect, double zNear, double zFar);
    void frustum(double left, double right, double bottom, double top, double near, double far);
    void ortho(double left, double right, double bottom, double top, double near, double far);

    void setRenderState(int _state, int _val);
};

zbuffer-cpu's People

Contributors

maxint avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.