Rendering pipeline trong OpenGL

Rendering pipeline là các bước theo thứ tự tuần tự mà OpenGl sẽ thực hiện để biến các vertex thành hình ảnh hiển thị ra màn hình.

Rendering pipeline sẽ tiến hành xử lý dữ liệu thô của vertex kết hợp với các bước lọc và test để cho ra hình ảnh cuối cùng trên màng hình. Rendering pipeline như 1 đường ống kéo dài, chia làm nhiều phân đoạn liên tiếp nhau và tại mỗi phần ta có thể enable, disable hoặc cấu hình nó để cho ra hình ảnh đúng với ý đồ của ta.
Bên dưới là sơ đồ đầy đủ của Rendering pipeline: Continue reading

Advertisements

Một số khái niệm cơ bản về 3D trong lập trình đồ họa với OpenGL

Đây là bài mở đầu cho loạt bài viết về lập trình game 3D với OpenGL ES. Trước tiên chúng ta khái quát về OpenGL. OpenGL (tiếng Anh Open Graphics Library) là một tiêu chuẩn kỹ thuật đồ họa có mục đích định ra một giao diện lập trình ứng dụng (tiếng Anh: API) đồ họa 3 chiều. OpenGL cũng có thể được dùng trong các ứng dụng đồ họa 2 chiều. Giao diện lập trình này chứa khoảng 250 hàm để vẽ các cảnh phức tạp từ những hàm đơn giản. Nó được dùng rộng rãi trong các trò chơi điện tử. Ngoài ra nó còn dùng trong các ứng dụng CAD, thực tế ảo, mô phỏng khoa học, mô phỏng thông tin, phát triển trò chơi. OpenGL còn có một đối thủ cạnh tranh là DirectX của Microsoft.[1]. OpenGL ES(Open Graphics Library for Embedded System) là phiên bản giành cho hệ thống nhúng mà tiêu biểu là các thiết bị điện thoại, phiên bản này được lượt bớt 1 số thành phần làm cho nó trở nên gọn nhẹ và phù hợp với các thiết bị có cấu hình thấp.
Continue reading

Các ngôn ngữ lập trình Web

I. Ngôn ngữ lập trình và công nghệ phía client

1. HTML

HTML (tiếng Anh, viết tắt cho HyperText Markup Language, hay là “Ngôn ngữ Đánh dấu Siêu văn bản”) là một ngôn ngữ đánh dấu được thiết kế ra để tạo nên các trang web với các mẩu thông tin được trình bày trên World Wide Web. HTML được định nghĩa như là một ứng dụng đơn giản của SGML và được sử dụng trong các tổ chức cần đến các yêu cầu xuất bản phức tạp. HTML đã trở thành một chuẩn Internet do tổ chức World Wide Web Consortium (W3C) duy trì. Phiên bản chính thức mới nhất của HTML là HTML 4.01 (1999). Sau đó, các nhà phát triển đã thay thế nó bằng XHTML. Hiện nay, HTML đang được phát triển tiếp với phiên bản HTML5 hứa hẹn mang lại diện mạo mới cho Web.
Continue reading

Các danh sách collection xây dựng sẵn trong C#

C# cung cấp các lớp collection trong không gian tên System.Collections hay System.Collections.Generic, là các cấu trúc lưu trữ dữ liệu khác nhau.

ArrayList và List<T>

ArrayList là lớp thuộc không gian tên System.Collections, trong khi List<T> thuộc không gian tên System.Collections.Generic. ArrayList và List<T> đều cho phép tạo một dãy thứ tự các phần tử có kiểu dữ liệu bất kỳ, các phần tử này có thể có giá trị trùng nhau. Khác với mảng, ArrayList và List<T> có thể tự động thay đổi kích thước nếu cần thiết. Các phương thức, thuộc tính trên ArrayList tương tự List<T>. Continue reading

Làm quen và thực hành Linux

Mở đầu

Linux là tên gọi chung các biến thể hệ điều hành (distros) sử dụng nhân (kernel) Linux do Linus Torvalds cải tiến từ Unix. Đã có thời kỳ 1995 – 2012: Linux và Windows đối đầu nhau rất dữ dội. Steve Ballmer từng nói rằng “Linux như bệnh ung thư”. Đối với thị phần máy chủ Internet, thì Linux phát triển nhanh và chưa có dấu hiệu dừng lại. Bài viết này sơ qua chút xíu về Linux và cách thức làm quen – thực hành Linux.

Continue reading

Hướng Dẫn Tạo Shortcut Trên Ubuntu

Vì trên Ubuntu việc thao tác bằng dòng lệnh là chuyện thường ngày. Có những chương trình file khởi động của nó có là những file có đuôi .sh, .py… Nhưng việc khởi động như thế sẽ làm cho thao tác lâu hơn trong quá trình làm việc. Đồng thời chạy thêm chương trình Terminal làm cho hệ thống nặng thêm.
Hôm nay mình hướng dẫn tạo một Shortcut cho những loại file đó để thao tác nhanh hơn, gọn hơn. Continue reading

Định dạng số theo kiểu tiền tệ trong C#

Định dạng số sau dấu chấm thập phân


Để định dạng số, ta sử dụng các pattern. Ở ví dụ này, sẽ định dạng số sang kiểu chuỗi với 2 chữ số sau dấu chấm bằng pattern “0.00″.

// just two decimal places
String.Format(“{0:0.00}”, 123.4567); // “123.46″
String.Format(“{0:0.00}”, 123.4); // “123.40″
String.Format(“{0:0.00}”, 123.0); // “123.00″

Với pattern “0.##”, sẽ có tối đa 2 chữ số sau dấu “.” nhưng sẽ không thêm số 0 nếu số ban đầu có ít hơn 2 chữ số sau dấu chấm thập phân. Continue reading

IDENTITY trong SQL

1. Cột IDENTITY dùng để tạo một dãy số liên tục tăng cho mỗi bản ghi được INSERT, nó rất thích hợp khi bạn cần có một cột mà mỗi lần INSERT giá trị của nó được tự động tăng lên cao hơn các giá trị trước đó, trong khi bạn không quan tâm nhiều lắm đến bản thân các giá trị trong cột này. Trong rất nhiều trường hợp, cột IDENTITY cũng được dùng luôn làm khóa chính cho bảng.

Bạn khai báo thuộc tính IDENTITY cho cột như sau:

--Tạo bảng
CREATE TABLE dbo.Tblxxx(
ID_Col INT IDENTITY(1,1),
Col1 INT,
Col2 VARCHAR(50)...
)
--Thêm cột vào bảng
ALTER TABLE dbo.Tblyyy ADD ID_Col INT IDENTITY(1,1)

Continue reading

Kết nối Database SQL Server sử dụng C#

 

1- Giới thiệu

Tài liệu được viết dựa trên:
  • SQL Server 2014 (OK for others SQL Server).

  • Visual Studio 2013 (OK for other VS)

2- Tạo Data Connection kết nối từ Visual Studio vào SQL Server

Tạo Data Connection trên Visual Studio cho phép bạn xem cơ sở dữ liệu của bạn trực tiếp trên Visual Studio.
Về bản chất chương trình C# của bạn kết nối vào SQL Server mà không cần tạo Data Connections trên Visual Studio. Tuy nhiên việc tạo Data Connection giúp bạn biết chắc chắn rằng bạn đã kết nối thành công với SQL Server.

Continue reading