Những ngôn ngữ gì support OpenGL

Mọi người cho mình hỏi học OpenGL cần biết trước những gì ? Ngôn ngữ ấy …

Và opengl thường thiết kế giao diện để lập trình game, trong lập trình phần mềm có được không nhỉ :smiley:

Ngôn ngữ gốc C.
Tuy nhiên có thể dùng C++, Python.
Opengl dể lập trình 3D.

1 Like

Biết lập trình, biết cơ bản về hình học không gian. Hết.

Ngôn ngữ thì thoải mái: C, C++, Python, Perl…

1 Like

Đâu nhất thiết là lập trình 3D thì mới được dùng tới OpenGL

1 Like

Ngoài làm game và các app xữ lý ảnh, đồ họa ra thì OpenGL vẫn có thể được dùng để làm phần mềm nhá. Nhất là các phần mềm có lượng dữ liệu lớn và phải xữ lý song song thì chạy trên GPU sẽ tốt hơn chạy trên CPU nhiều. Bạn có thể tìm hiểu thêm về lập trình GPGPU (General Purpose GPU)

2 Likes

Cái này có cần thiết không anh? Chứ em chưa học tới hình học không gian :cry:

Đồ họa thì vẫn là đồ hoạ là chính, nếu nói đến parallel programming nói chung thì OpenCL, CUDA… có lẽ phù hợp hơn nhiều.

Hình học không gian. hình học giải tích, ma trận, vector, đạo hàm, tích phân…học đồ họa 3D là phải biết những thứ trên. Xác định luôn 1 điều là học đồ họa phải học toán khá tốt, học toán tốt ở đây không phải là giải được nhiều dạng bài tập như dưới cấp 3 mà phải hiểu rõ bản chất của vấn đề thì mới vận dụng được.

Ý em là khả năng của OpenGL không chỉ gói gọn trong đồ họa 3D thôi. Còn mấy cái API mà bác nói là chuyên về GPGPU rồi, bá đáo quá rồi, sao OpenGL so sánh lại :laughing:

Ý là không phải em học toán không tốt mà là kiến thức em chưa học tới mấy cái hình học không gian đó.
Vậy bây giờ làm sao anh ? Em k có những kiến thức đó thì sao em học đồ họa 3d, cụ thể là OpenGL được ?

Có cần phải biết OOP không mấy anh ?

Ngôn ngữ gốc C nên bạn có thể code theo kiểu cấu trúc, sự kiện, hay OOP bật kể cái gì bạn thích và bạn nghĩ ra.
Không bắt buộc.
Tuy nhiên bạn cần xác định mục tiêu của mình vì code OpenGL khá mệt.

Bạn cần biết kiến thức về hình học, các phép biến đổi trong không gian, vector, matrix.
Và đề hiểu được OpenGL làm việc như thế nào bản chỉ cần nắm được pipeline của nó. Hiểu được vertextShader và fragmentShader.

Còn về ngôn ngữ nó không quan trọng vì đa số các ngôn ngữ đều support. Bản thân mình khuyên bạn bên học lập trình OpenGL với C++. Vì đa số đều gọi lại API OpenGL viết từ C/C++.

Chúc bạn học tốt!

Nguyễn Nghĩa, Admin www.eitguide.com

2 Likes

Nhưng kiến thức trường lớp của em chưa học tới hình học không gian và mấy kiến thức toán cấp 3 … thì có học OpenGL được không mọi người ?

Cần gì phải học trường lớp em. Tìm hiểu là ra hết các phép biến đổi trong không gian 2D, 3D (translate, rotate, scale).

Ý em là năm nay em đang học lớp 9, kiến thức toán chưa đụng tới hình học không gian nên sợ học opengl sẽ khó khăn và dẫn đến bỏ dở giữa chừng.
Em có lên mạng search về các phép biến đổi trong không gian 2d 3d … như anh nói thì thật sự, em không hiểu gì hết. Toán là kiến thức toán cấp 3 =))

Nếu vậy thì hiện tại em nên dành thời gian để học toán và luyện C/C++ đi, những kiến thức đó là những kiến thức cơ bản nhất, nếu chưa có những kiến thức đó thì em không học được đồ họa đâu.
Một số kiến thức cần biết trước khi học đồ họa:

  • Vector (lớp 10)
  • Hình học giải tích (lớp 10)
  • Hình học không gian (lớp 12)
  • Lượng giác (Lớp 10-11)
  • Giải tích (Lớp 11-12)
  • Ma trận (đại học)
  • Một số kiến thức toán nâng cao khác như giải tích cao cấp, giải phương trình sai phân, nội suy…(đại học)
1 Like

Cái này thì không thành vấn đề anh :slight_smile:

Chắc không học được quá. Em không có thời gian để học toán trước chương trình được :frowning:

Không vấn đề gì. Em có thể nghiên cứu từ từ mà.

Mình có thể dùng c# để học opengl không ? Mình đã có background là c++ rồi đang tính chuyển c# làm luôn với oop , opengl

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?