IP Library › Granted Patent US 12,567,193
Granted Patent B2
US 12,567,193 · App. 18/551,738 · Granted Mar 3, 2026

Particle rendering method and apparatus

Inventors: Liyou Xu (Beijing, CN); Jinyuan Wu (Beijing, CN)
Assignee: Beijing Zitiao Network Technology Co., Ltd.
G06T15/00G06T7/50G06T7/73G06T13/00G06T2210/21G06T2210/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,567,193
App. No.
18/551,738
Granted
Mar 3, 2026
Kind
B2
Abstract

The embodiments of the present disclosure provide a particle rendering method and apparatus, which relate to the technical field of image rendering. The method includes: obtaining state information of a target particle; obtaining a fall duration of the target particle if the state information is first state information indicating that no collision with the target particle occurred; obtaining a first position based on the fall duration and a fall speed of the target particle; and rendering the target particle to be at the first position.

Claims (95)

1 . A particle rendering method, comprising:

obtaining state information of a target particle, wherein the state information of the target particle comprises values carried by a preset number of bits;

determining whether the state information is first state information indicating that no collision with the target particle occurred or second state information indicating that a collision with the target particle occurred;

in response to determining the state information being the first state information:

obtaining a fall duration of the target particle, wherein the fall duration of the target particle is obtained based on a time when the particle starts to fall and a current time;

obtaining a first position based on the fall duration and a fall speed of the target particle; and

rendering the target particle to be at the first position;

in response to determining the state information being the second state information:

obtaining a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred;

obtaining a second position based on the collision time and the fall speed of the target particle; and

rendering the target particle to be at the second position.

2 . The particle rendering method according to claim 1 , further comprising:

obtaining a first depth value and a second depth value after obtaining the first position, the first depth value being a depth value of the first position in a screen space, and the second depth value being a scene depth value corresponding to the first position in the screen space;

determining whether the first depth value is greater than the second depth value;

in response to determining the first depth value being greater than the second depth value, changing the state information of the target particle to second state information indicating that a collision with the target particle occurred, and storing the fall duration as a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred.

3 . The particle rendering method according to claim 2 , wherein the obtaining the first depth value comprises:

obtaining coordinate values of the first position in a world space based on coordinate values of the first position in a local space and a model matrix;

obtaining coordinate values of the first position in a view space based on coordinate values of the first position in the world space and a view matrix;

obtaining coordinate values of the first position in a clip space based on the coordinate values of the first position in the view space and a projection matrix;

normalizing the coordinate values of the first position in the clip space to obtain coordinate values of the first position in the screen space; and

obtaining the first depth value based on the coordinate values of the first position in the screen space.

4 . The particle rendering method according to claim 1 , further comprising:

in response to determining the state information being the second state information:

obtaining a collision position of the target particle, the collision position indicating a position where the target particle located when the collision occurred; and

rendering the target particle at the collision position.

5 . The particle rendering method according to claim 1 , further comprising:

obtaining a first depth value and a second depth value after obtaining the first position, the first depth value being a depth value of the first position in a screen space, and the second depth value being a scene depth value corresponding to the first position in the screen space;

determining whether the first depth value is greater than the second depth value;

in response to determining the first depth value being greater than the second depth value, changing the state information of the target particle to second state information indicating that a collision with the target particle occurred, and storing the first position as a collision position of the target particle, the collision position indicating a position where the target particle located when the collision occurred.

6 . The method according to claim 5 , wherein obtaining the first depth value comprises:

obtaining coordinate values of the first position in a world space based on coordinate values of the first position in a local space and a model matrix;

obtaining coordinate values of the first position in a view space based on coordinate values of the first position in the world space and a view matrix;

obtaining coordinate values of the first position in a clip space based on the coordinate values of the first position in the view space and a projection matrix;

normalizing the coordinate values of the first position in the clip space to obtain coordinate values of the first position in the screen space; and

obtaining the first depth value based on the coordinate values of the first position in the screen space.

7 . The particle rendering method according to claim 1 , further comprising:

controlling the particle to return to an initial position thereof and resetting the fall duration of the particle to zero when the fall duration of the particle reaches a duration threshold, and updating the state information of the target particle with the first state information.

8 . An electronic device, comprising:

a memory for storing a computer program; and

a processor that, when executing the computer program, causes the electronic device to implement a particle rendering method comprising:

obtaining state information of a target particle, wherein the state information of the target particle comprises values carried by a preset number of bits;

determining whether the state information is first state information indicating that no collision with the target particle occurred or second state information indicating that a collision with the target particle occurred;

in response to determining the state information being the first state information:

obtaining a fall duration of the target particle, wherein the fall duration of the target particle is obtained based on a time when the particle starts to fall and a current time;

obtaining a first position based on the fall duration and a fall speed of the target particle; and

rendering the target particle to be at the first position;

in response to determining the state information being the second state information:

obtaining a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred;

obtaining a second position based on the collision time and the fall speed of the target particle; and

rendering the target particle to be at the second position.

9 . The electronic device according to claim 8 , wherein the processor is configured to:

obtain a first depth value and a second depth value after obtaining the first position, the first depth value being a depth value of the first position in a screen space, and the second depth value being a scene depth value corresponding to the first position in the screen space;

determine whether the first depth value is greater than the second depth value;

in response to the first depth value being greater than the second depth value, change the state information of the target particle to second state information indicating that a collision with the target particle occurred, and store the fall duration as a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred.

10 . The electronic device according to claim 9 , wherein the processor is configured to:

obtain coordinate values of the first position in a world space based on coordinate values of the first position in a local space and a model matrix;

obtain coordinate values of the first position in a view space based on coordinate values of the first position in the world space and a view matrix;

obtain coordinate values of the first position in a clip space based on the coordinate values of the first position in the view space and a projection matrix;

normalize the coordinate values of the first position in the clip space to obtain coordinate values of the first position in the screen space; and

obtain the first depth value based on the coordinate values of the first position in the screen space.

11 . The electronic device according to claim 8 , wherein the processor is configured to:

in response to the state information being second state information indicating that a collision with the target particle:

obtain a collision position of the target particle, the collision position indicating a position where the target particle located when the collision occurred; and

render the target particle at the collision position.

12 . The electronic device according to claim 8 , wherein the processor is configured to:

obtain a first depth value and a second depth value after obtaining the first position, the first depth value being a depth value of the first position in a screen space, and the second depth value being a scene depth value corresponding to the first position in the screen space;

determine whether the first depth value is greater than the second depth value;

in response to the first depth value being greater than the second depth value, change the state information of the target particle to second state information indicating that a collision with the target particle occurred, and store the first position as a collision position of the target particle, the collision position indicating a position where the target particle located when the collision occurred.

13 . The electronic device according to claim 12 , wherein the processor is configured to:

obtain coordinate values of the first position in a world space based on coordinate values of the first position in a local space and a model matrix;

obtain coordinate values of the first position in a view space based on coordinate values of the first position in the world space and a view matrix;

obtain coordinate values of the first position in a clip space based on the coordinate values of the first position in the view space and a projection matrix;

normalize the coordinate values of the first position in the clip space to obtain coordinate values of the first position in the screen space; and

obtain the first depth value based on the coordinate values of the first position in the screen space.

14 . The electronic device according to claim 8 , wherein the processor is configured to:

control the particle to return to an initial position thereof and resetting the fall duration of the particle to zero when the fall duration of the particle reaches a duration threshold, and updating the state information of the target particle with the first state information.

15 . A non-transitory computer-readable storage medium stored thereon a computer program that, when executed by a computing device, causes the computing device to implement a particle rendering method comprising:

obtaining state information of a target particle, wherein the state information of the target particle comprises values carried by a preset number of bits;

determining whether the state information is first state information indicating that no collision with the target particle occurred or second state information indicating that a collision with the target particle occurred;

in response to determining the state information being the first state information:

obtaining a fall duration of the target particle, wherein the fall duration of the target particle is obtained based on a time when the particle starts to fall and a current time;

obtaining a first position based on the fall duration and a fall speed of the target particle; and

rendering the target particle to be at the first position;

in response to determining the state information being the second state information:

obtaining a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred;

obtaining a second position based on the collision time and the fall speed of the target particle; and

rendering the target particle to be at the second position.

16 . The non-transitory computer-readable storage medium according to claim 15 , wherein the particle rendering method further comprises:

obtaining a first depth value and a second depth value after obtaining the first position, the first depth value being a depth value of the first position in a screen space, and the second depth value being a scene depth value corresponding to the first position in the screen space;

determining whether the first depth value is greater than the second depth value;

in response to the first depth value being greater than the second depth value, changing the state information of the target particle to second state information indicating that a collision with the target particle occurred, and storing the fall duration as a collision time of the target particle, the collision time indicating a fall duration of the target particle before the collision occurred.

17 . The non-transitory computer-readable storage medium according to claim 15 , wherein the particle rendering method further comprises:

in response to the state information being second state information indicating that a collision with the target particle:

obtaining a collision position of the target particle, the collision position indicating a position where the target particle located when the collision occurred; and

rendering the target particle at the collision position.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2026
From: XU, LIYOU
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 075313/0132 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2026
From: SHANGHAI SUIXUNTONG ELECTRONIC TECHNOLOGY CO., LTD.
To: BEIJING ZITIAO NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 075313/0371 →
Priority Claims (1)
CN 202110600409.7 · May 31, 2021 · national
Continuity (1)
Related Publication 20240185454A1 · Jun 6, 2024
References Cited (28)
US 7692647B2 · Lin · 2010 [cited by examiner]
US 10926176B1 · Snyder et al. · 2021 [cited by applicant]
US 20030179203A1 · Bruderlin et al. · 2003 [cited by applicant]
US 20080184124A1 · Agarwal et al. · 2008 [cited by applicant]
US 20090083015A1 · McDaniel · 2009 [cited by examiner]
US 20090111579A1 · Komatsumoto · 2009 [cited by examiner]
US 20180182066A1 · Saleh · 2018 [cited by examiner]
US 20180249144A1 · Feng et al. · 2018 [cited by applicant]
US 20200279438A1 · Ohashi · 2020 [cited by applicant]
US 20210385321A1 · Tran · 2021 [cited by examiner]
US 20230061935A1 · Benedicto et al. · 2023 [cited by applicant]
CN 104778737A · 2015 [cited by applicant]
CN 107886574A · 2018 [cited by applicant]
CN 109191550A · 2019 [cited by applicant]
CN 110717269A · 2020 [cited by applicant]
CN 111127609A · 2020 [cited by applicant]
CN 111540035A · 2020 [cited by applicant]
CN 111667393A · 2020 [cited by applicant]
CN 112233214A · 2021 [cited by applicant]
CN 112652044A · 2021 [cited by applicant]
Tan J, Fan X. Particle system based snow simulating in real time. Procedia Environmental Sciences. Jan. 1, 2011;10:1244-9. (Year: 2011). [cited by examiner]
International Search Report and Written Opinion for International Application No. PCT/CN2022/086353, mailed Jun. 29, 2022, 12 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/CN2022/086528, mailed Jun. 22, 2022, 16 pages. [cited by applicant]
International Search Report and Written Opinion for International Application No. PCT/CN2022/086561, mailed Jun. 30, 2022, 14 pages. [cited by applicant]
Shader, Jun. 10, 2022, pp. 1-6 (9 Pages), Retrieved from URL: https://zhuanlan.zhihu.com/p/9594344408.12J=I2019. [cited by applicant]
Shadertoy: “Starry Sky,” Views: 1878, Tags: Star, Sky, Dec. 7, 2019, 2 Pages, [Retrieved on Dec. 20, 2023] Retrieved from URL: https://www.shadertoy.com/view/tdKSWy. [cited by applicant]
Non-Final Office Action mailed on Jun. 27, 2025, for U.S. Appl. No. 18/552,777, pp. 27. [cited by applicant]
Office action received from Chinese patent application No. 202110600409.7 mailed on Jun. 14, 2025, 14 pages (7 pages English Translation and 7 pages Original Copy). [cited by applicant]